User Tools

Site Tools


prom20:person

This is an old revision of the document!


PRO•M Person

Das Person Modul ist eines der zentralsten Basismodule von PRO•M. Auch wenn es heißt, man soll in Software die Realität nicht abbilden, ist doch eine Person für so viele Dinge notwendig, dass es Sinn hat, sie zu modellieren. Auf die Person kann man dann weiter aufbauen, z.B. weitere Rollen zu der Person definieren wie z.B. die Benutzer-Role1), die Mitarbeiter-Rolle, die Kontaktperson-Rolle, usw.

Rollen sind entweder eigene Aggregates oder gehören zur Person. Zweiteres ist durch die Modulare Erweiterbarkeit von PRO•M möglich, indem Aggregate Root Parts direkt in ein Aggregate integriert werden, über das Aggregate geladen werden2), und über das Aggregate gespeichert werden3).

Aggregates

Salutation

Salutation ist die Anrede, z.B. “Herr” oder “Frau”, die in der Person verwendet werden kann. Man braucht eigentlich kein Aggregate hierfür, könnte Salutation auch als Value Object umsetzen. Das PRO•M 1.0 aber eine Referenzielle Integrität von der Person zur Anrede über die ID benötigt, wird sie in PRO•M auch als als vollwertiges Aggregate implementiert.

Regeln

Eine Salutation kann weder gelöscht noch verändert werden4), was sie in der Verwendung innerhalb der Person zu einem immutable Value Object macht, nur dass man sie über eine Auswahlliste angeben kann. Deaktivieren geht in PRO•M 1.0 nicht, bzw. wird dort nicht berücksichtigt, somit wird diese Funktion vorerst nicht sichtbar aktiviert sein.

In PRO•M kann man die Anrede noch verändern und löschen. Obwohl das Verhalten in PRO•M 1.0 und 2.0 unterschiedlich ist, wird beides parallel beibehalten, es schadet ja nicht.

Befehle

  • AddSalutation: Neue Anrede hinzufügen
  • DeactivateSalutation: Deaktivieren, damit sie in zukünftigen Auswahllisten nicht angeboten wird
  • ActivateSalutation: wieder für Auswahllisten aktivieren

Ereignisse

  • SalutationAdded
  • SalutationDeactivated
  • SalutationActivated

SalutationLetter

SalutationLetter ist die Briefanrede, z.B. “Sehr geehrter Herr” oder “Sehr geehrte Frau”, die in der Person verwendet werden kann. Man braucht eigentlich kein Aggregate hierfür, könnte SalutationLetter auch als Value Object umsetzen. Das PRO•M 1.0 aber eine Referenzielle Integrität von der Person zur Anrede über die ID benötigt, wird sie in PRO•M auch als als vollwertiges Aggregate implementiert.

Regeln

Eine Briefanrede kann weder gelöscht noch verändert werden5), was sie in der Verwendung innerhalb der Person zu einem immutable Value Object macht, nur dass man sie über eine Auswahlliste angeben kann. Deaktivieren geht in PRO•M 1.0 nicht, bzw. wird dort nicht berücksichtigt, somit wird diese Funktion vorerst nicht sichtbar aktiviert sein.

In PRO•M kann man die Briefanrede noch verändern und löschen. Obwohl das Verhalten in PRO•M 1.0 und 2.0 unterschiedlich ist, wird beides parallel beibehalten, es schadet ja nicht.

Befehle

  • AddSalutationLetter: Neue Anrede hinzufügen
  • DeactivateSalutationLetter: Deaktivieren, damit sie in zukünftigen Auswahllisten nicht angeboten wird
  • ActivateSalutationLetter: wieder für Auswahllisten aktivieren

Ereignisse

  • SalutationLetterAdded
  • SalutationLetterDeactivated
  • SalutationLetterActivated
1) damit sich eine Person am System anmelden kann, und über die Anmeldung als die Person identifiziert wird, die hinter der Rolle steckt
2) bzw. über ein eigenes Repository, das das Aggregate benötigt
3) im Event Stream des Aggregates
4) , 5) anders als in PRO•M 1.0
prom20/person.1384282765.txt.gz · Last modified: 2013/11/12 19:59 by rtavassoli