Trenne Veränderliches von Konstantem
Manche Teile einer Software werden sich wahrscheinlich mit der Zeit ändern, andere eher nicht. Damit nicht das ganze System überarbeitet werden muss, sollten solche Teile voneinander getrennt werden.
Programmiere auf eine Schnittstelle statt auf eine Implementierung
Benutze Obertypen, um bei späteren Änderungen flexibel zu sein. Schnittstelle ist nicht unbedingt gleichbedeutend mit "Interface", sondern soll als "Obertyp" interpretiert werden.
Ziehe Komposition der Vererbung vor
Anstatt komplexe Vererbungshierarchien zu entwickeln, kann man auch Funktionalität über Komposition erweitern.
Kopplung und Kohäsion
Strebe eine geringe Kopplung zwischen Klassen und eine hohe Kohäsion in Klassen an.
Open-Closed-Prinzip
Klassen sollen offen für Erweiterungen, aber geschlossen für Veränderungen sein.
Hollywood-Prinzip
»Don’t call us, we’ll call you«
Eine Klasse sollte nur einen Grund für Veränderungen haben
Ein Objekt sollte nur eine Aufgabe haben.
Aufgabe - Vor Entwurfsmustern
Beschreibe für alle Entwurfsprinzipien ein positives oder negatives Beispiel. Dies wird Dir unter Umständen bei manchen Prinzipien schwerfallen. Probiere es trotzdem, da es Dir dann leichter fällt die Entwurfsprinzipien beim Lernen der Entwurfsmuster zu erkennen.
Aufgabe - Nach Entwurfsmustern
Beschreibe welches Entwurfsmuster welche Entwurfsprinzipien in besonderem Maße umsetzt.
Login erforderlich
Du musst angemeldet sein, um alle Inhalte zu sehen.