Party (Analysemuster)
Party ist ein Analysemuster von Martin Fowler[1] und stellt eine Generalisierung von Personen und Organisationen dar. Gewöhnlich definiert man Party als Supertype von Person und Organisation. Das gestattet es, Adressen und Telefonnummern für Abteilungen innerhalb von Unternehmen oder sogar informeller Teams vorzusehen.
In Party sieht man Strukturen vor für alles, was Personen und Organisationen gemeinsam haben. Nur das, was spezifisch ist für den einen oder anderen Untertyp von Party, sollte auch als solches spezifisch für den jeweiligen Untertyp vorgesehen werden. Wenn Methoden oder Eigenschaften, Daten oder Algorithmen für einen Untertyp bereitgestellt bzw. deklariert werden sollen, dann ist stets zu überlegen, ob diese denn nicht besser im Supertyp vorzusehen sind, da sie allgemeine Gültigkeit bzw. Anwendbarkeit haben.
Inhaltsverzeichnis
[Verbergen]Beispiel[Bearbeiten]
Gegeben sei ein Adressbuch in der Personen und Firmen (bzw. Organisationen) abgelegt werden sollen. Ohne das Party-Muster müsste sowohl das Personen-Objekt als auch das Firmen-Objekt Dinge wie Telefonnummern, Postaddressen, E-Mail-Adressen, und ähnliches getrennt voneinander implementieren. Dies führt zu einer Redundanz.
Das Partymuster führt hier ein abstraktes Objekt, die „Partei“ ein, welches eine beliebige juristische Person darstellt und die gemeinsamen Eigenschaften kapselt. Hierdurch wird auch eine Suche im Adressbuch vereinfacht, da nicht zwei verschiedene Suchen – eine für Personen und eine für Firmen/Organisationen – implementiert werden müssen.
Verwendung[Bearbeiten]
Das Party-Muster wird häufig mit anderen Mustern verwendet. Beispielsweise lassen sich zusammen mit den Analysemustern Role Object, Organization Hierachy und ähnlichen Organisationsstrukturen darstellen.
Weblinks[Bearbeiten]
Einzelnachweise[Bearbeiten]
- Hochspringen ↑ Martin Fowler: Analysis Patterns: Reusable Object Models. Addison-Wesley, 1996, ISBN 978-0-201-89542-1.