Anschreiben Muster bäckerei

Wenn Sie eine ganze Reihe verwandter konkreter Klassen haben, sind Sie oft gezwungen, Code wie diesen zu schreiben: Alle Fabrikmuster fördern die lose Kopplung, indem sie die Abhängigkeit Ihrer Anwendung von konkreten Klassen reduzieren. HeadFirst: Wow, ein Interview mit zwei Mustern auf einmal! Das ist eine Premiere für uns. Stellen Sie sich Simple Factory als Aufwärmen vor. Als Nächstes untersuchen wir zwei Schweremuster, die beide Fabriken sind. Aber keine Sorge, es kommt noch mehr Pizza! Alle Factorymuster kapseln die Objekterstellung. Das Factory-Methodenmuster kapselt die Objekterstellung, indem Unterklassen entscheiden lassen, welche Objekte erstellt werden sollen. Schauen wir uns diese Klassendiagramme an, um zu sehen, wer die Spieler in diesem Muster sind: Nun sagt uns dieses Prinzip, dass wir stattdessen unseren Code schreiben sollten, damit wir auf Abstraktionen angewiesen sind, nicht auf konkrete Klassen. Das gilt sowohl für unsere High-Level-Module als auch für unsere Low-Level-Module. Wir schreiben dann unseren Code, so dass er die Fabrik verwendet, um Produkte zu erstellen.

Durch die Durchfahrt in einer Vielzahl von Fabriken, erhalten wir eine Vielzahl von Implementierungen dieser Produkte. Aber unser Kundencode bleibt derselbe. Wir haben gesehen, dass die Factory-Methode ein Framework bietet, indem eine orderPizza()-Methode geliefert wird, die mit einer Factory-Methode kombiniert wird. Eine andere Möglichkeit, dieses Muster als Rahmen zu betrachten, ist die Art und Weise, wie es Produktwissen in jeden Ersteller kapselt. Wenn sich hingegen eine Klasse, die Sie schreiben, wahrscheinlich ändert, haben Sie einige gute Techniken wie Factory-Methode, um diese Änderung zu kapseln. *Nur eine weitere Erinnerung: In Designmustern bedeutet der Ausdruck “Implementieren einer Schnittstelle” NICHT immer “Schreiben Einer Klasse, die eine Java-Schnittstelle implementiert, indem Sie das Schlüsselwort `implements` in der Klassendeklaration verwenden.” In der allgemeinen Verwendung des Ausdrucks wird eine konkrete Klasse, die eine Methode aus einem Supertyp implementiert (die eine Schnittstelle der Klasse oder sein könnte) immer noch als “Implementierung der Schnittstelle” dieses Supertyps betrachtet. Wir fügen unserer Musterfamilie ein weiteres Fabrikmuster hinzu, mit dem wir Produktfamilien erstellen können. Schauen wir uns die offizielle Definition für dieses Muster an: Bakery nahtloses Muster. Brot Croissant Gebäck Gebäck Weizen Brot in Scheiben geschnitten weiße Rolle gezeichnet Vintage Skizze Bäckerei Brot nahtlose Muster. Cartoon-Brot-Produkte und Gebäck, Ohren und Mehl Bäckereien Wie in der offiziellen Definition, werden Sie oft hören Entwickler sagen, dass die Factory-Methode unter Klassen entscheiden lässt, welche Klasse instanziiert werden soll.

Sie sagen “entscheiden”, nicht weil das Muster es Unterklassen erlaubt, sich zur Laufzeit selbst zu entscheiden, sondern weil die Erstellerklasse ohne Kenntnis der eigentlichen Produkte geschrieben wird, die erstellt werden, was ausschließlich durch die Wahl der verwendeten Unterklasse entschieden wird. 15. Alle Factory-Muster ermöglichen es uns, __________ Objektzuschaffung. A: Wir haben die so genannte parametrierte Factory-Methode implementiert. Es kann mehr als ein Objekt basierend auf einem übergebenen Parameter machen, wie Sie bemerkt haben. Oft produziert eine Fabrik jedoch nur ein Objekt und ist nicht parametrisiert. Beides sind gültige Formen des Musters.