Dekorierer Klassendiagramm |
Marcel20X unregistriert
 |
|
|
21.05.2019 12:50 |
|
|
Marcel20X unregistriert
 |
|
|
21.05.2019 16:31 |
|
|
as_string
Haudegen
  
Dabei seit: 06.11.2013
Beiträge: 635
Herkunft: Heidelberg
 |
|
Der Dekorierer (ich denke, das ist das, was Du mit "Zusatz" bezeichnest?) muss selbst von der abstrakten Klasse "Person" erben.
Das besondere bei dem Muster ist nämlich, dass die erzeugten Dekorierer-Objekte als vollwerte Objekte der ursprünglichen Klasse weiter verwendet werden können, also dasselbe Interface implementieren. Dabei delegieren sie alles weiter an das Objekt, das sie dekorieren und auf das sie eine Referenz halten, außer Dinge, die sie verändern wollen.
Bei der Projektleitung wird man wahrscheinlich auch eine Liste von Projekten benötigen?
Die Boni richten sich ja dann entsprechend nach Grundgehalt und der Anzahl Projekte und/oder Kunden, denke ich.
Gruß
Marco
|
|
21.05.2019 19:19 |
|
|
as_string
Haudegen
  
Dabei seit: 06.11.2013
Beiträge: 635
Herkunft: Heidelberg
 |
|
Aber "Person" zu implementieren hilft nicht viel, weil die ja noch gar keine gehalt() Methode hat.
Du musst das so machen:
Ein Interface Mitarbeiter mit der Methode int gehalt().
Eine KonkreteMitarbeiter-Klasse, die ein Grundgehalt in einem Feld speichert, das Mitarbeiter Interface so implementiert, dass die gehalt()-Methode dieses Grundgehalt zurück gibt.
Eine abstrakte Klasse MitarbeiterDekorier, die eine Referenz auf ein Mitarbeiter-Objekt hält und selbst das Mitarbeiter Interface implementiert, indem es die int gehalt()-Methode an das referenzierte Mitarbeiter-Objekt delegiert, das es sich im Konstruktor merkt.
Ob man diese abstrakte Klasse überhaupt braucht ist noch eine andere Frage. Vielleicht in Java nicht so wichtig...
Ähnlich sehen dann die ProjektleitungDekorierer, KundenbetreuungDekorierer und VeranstaltungsorganisationDekorierer aus:
Der Konstruktor nimmt ein Mitarbeiter entgegen und merkt sich die Referenz in einer Member-Variablen. Die int gehalt() Methode ruft selbst die gehalt()-Methode des referenzierten Mitarbeiters auf und addiert dann selbst noch die eigenen Boni dazu, je nach Art des Dekorierers und wieviele Projekte/Kunden/Veranstaltungen jeweils betreut werden.
Verstehst Du, wenn man dieses Konstrukt dann verwendet überhaupt? Vielleicht sollte man damit anfangen.
Gruß
Marco
|
|
22.05.2019 11:06 |
|
|
Tomass
Grünschnabel
Dabei seit: 26.12.2022
Beiträge: 7
 |
|
RE: Dekorierer Klassendiagramm |
 |
Ein Mitarbeiter ist eine Person mit einem Namen und einem Grundgehalt. Ein Mitarbeiter kann Zusatzaufgaben übernehmen. Zusatzaufgaben sind: Projektleitung: Für jede Projektleitung wird eine Zulage gezahlt. Kundenservice: Für jede Stunde Kundenservice wird eine Zulage gezahlt.
Das Modell ist sowohl für die Erstellung von Inhalten als auch für die Verwaltung dieser Inhalte geeignet. Beide Seiten bieten kostenlose und Premium-Optionen an, sodass du dich für diejenige entscheiden kannst, die am besten zu dir passt.
|
|
27.12.2022 11:39 |
|
|
|