====== Design Pattern / Entwurfsmuster ====== Gutes Tutorial: [[http://philipphauer.de/study/se/design-pattern/]] ===== Strategy ===== Verhalten in eigene Klassen auslagern: mehr Flexibilität etc. ===== Observer ===== Ein Klasse aktualisiert Liste/udated Daten mehrerer Klassen ===== Singleton ===== Nur EINE Instanz einer Klasse soll es geben. ===== Decorator ===== Ein Klasse umwrappt eine andere wie eine Blume und erweitert diese. (Kann Ersatz für Vererbung sein) Beispiel: Restaurant mit Hauptgerichten und Beilagen. Beilagen 'wrappen' sich um Hauptgerichte: Beilagenojekt ruft Haupgerichtenobjekt auf und addiert Preise... ===== Factory Method ===== Beispiel: Shop mit Office Applikationen, wie Word, Excel und Powerpoint Ein eigene Klasse, um andere Klassen zu erzeugen und aufzurufen. Entkopplung von der konkreten Instanziierung einer Klasse. Das erstellte Objekt kann elegant ausgetauscht werden. GOF: "Definiere eine Klassenschnittstelle mit Operationen zum Erzeugen eines Objekts, aber lasse Unterklassen entscheiden, von welcher Klasse das zu erzeugende Objekt ist. Fabrikmethoden ermöglichen es einer Klasse, die Erzeugung von Objekten an Unterklassen zu delegieren." ===== Abstract Fabric ===== Spielewelt-Beispiel: Regenwald, Wüste, Polargebiet GOF:"Biete eine Schnittstelle zum Erzeugen von Familien verwandter oder voneinander abhängiger Objekte, ohne ihre konkreten Klassen zu benennen." Command Composite Facade State