21 Softwaretechnik - Erzeugungsmuster Flashcards
Was ist die grundlegende Motivation hinter Erzeugungsmustern?
Die grundlegende Motivation hinter Erzeugungsmustern ist, die Erzeugung eines Objekts und dessen Verwendung voneinander zu entkoppeln. Die Erzeugung eines Objekts mit new wird in eine eigene Klasse ausgelagert, die für die Konstruktion verantwortlich ist.
Was ist das Singleton-Pattern und wann wird es verwendet?
Das Singleton-Pattern wird verwendet, wenn garantiert werden muss, dass eine bestimmte Komponente nur einmal innerhalb eines Systems vorkommt und ein globaler Zugriff auf diese Komponente existiert. Beispiele sind zentrale Ressourcen wie Konfigurationen oder Logdateien, die koordiniert verwaltet werden müssen.
Welche Kritik gibt es am Singleton-Pattern?
Kritisiert wird, dass das Singleton-Pattern das Single Responsibility Principle bricht, ähnlich wie globale Variablen genutzt werden kann, zu prozeduraler Programmierung verleitet und die Testbarkeit erschwert. Es wird oft als Anti-Pattern betrachtet.
Was ist das Abstract Factory Pattern?
Das Abstract Factory Pattern ermöglicht die Erzeugung einer Produktfamilie, die aus einzelnen, miteinander verbundenen Produkten besteht. Die Factory kann ausgetauscht werden, und der Klient arbeitet nur mit abstrakten Referenzen, ohne die konkreten Implementierungen zu kennen.
Welche Vorteile bietet das Abstract Factory Pattern?
Das Abstract Factory Pattern trennt den Klienten von konkreten Klassen, ermöglicht die einfache Verwendung unterschiedlicher Produktfamilien und erleichtert das Hinzufügen neuer Produktfamilien.
Was ist das Factory Method Pattern?
Das Factory Method Pattern trennt die Erzeugung und Nutzung von Objekten, indem die Erzeugung an eine Methode einer separaten Klasse (Factory-Objekt) delegiert wird. Konkrete Unterklassen erzeugen Objekte für spezifische Kontexte.
Was sind die Vorteile und Nachteile des Factory Method Patterns?
- Vorteile: Entkopplung von Konstruktion und Verwendung (kein new-Operator), bessere Benennung von erzeugenden Funktionen.
- Nachteile: Erforderliche Unterklassenbildung.
Was ist das Builder Pattern?
Das Builder Pattern wird verwendet, um komplexe Objekte zu konstruieren, deren Erzeugung mehrere Schritte erfordert. Es erlaubt das schrittweise Festlegen von Attributen und die anschließende Erstellung des Objekts mit einer build()-Methode.
Was sind die Unterschiede zwischen dem Factory Method Pattern und dem Builder Pattern?
Das Factory Method Pattern erzeugt ein Objekt, das im Anschluss konfiguriert wird. Das Builder Pattern erlaubt das schrittweise Definieren eines Objekts, das erst nach vollständiger Konfiguration erzeugt wird.
Welche Vorteile bietet das Builder Pattern?
Das Builder Pattern erhöht die Lesbarkeit durch geschickte Benennung von Methoden, erlaubt das Erzeugen mehrerer ähnlicher Objekte und vereinfacht die Wartung komplexer Konstruktoren.