Muster it bad säckingen

So stellten sie sich den BadSaeckinger Trompeter vor einem Jahrhundert vor. Die Statue steht auf der Westseite des Schlosses. Es war ein Muster für die größere Statue – das Scheffel-Denkmal am Domplatz. Viele Leute würden solche Methoden „Factory-Methode” nennen, nur weil sie neue Objekte produziert: Die Logik ist einfach: Die Methode erstellt Objekte und da alle Fabriken Objekte erstellen, sollte diese Methode eindeutig eine Factory-Methode sein. Natürlich gibt es eine Menge Verwirrung, wenn es um das echte Factory Method Muster geht. Seien Sie nicht verwirrt, wenn jemand Methoden wie diese als „statische Fabrikmethode” bezeichnet. Das ist einfach eine schlechte Angewohnheit. Die Factory-Methode ist ein Entwurfsmuster, das auf Vererbung basiert. Wenn Sie es statisch machen, können Sie es nicht mehr in Unterklassen erweitern, was den Zweck des Musters verletzt. Nun, da Sie den Unterschied kennen, werfen Sie einen neuen Blick auf die Design-Muster: Die abstrakte Fabrik auch im GoF-Buch definiert. ist ein kreationales Entwurfsmuster, das es ermöglicht, Familien verwandter oder abhängiger Objekte zu erstellen, ohne ihre konkreten Klassen anzugeben. Und wieder vermischen viele Leute das abstrakte Fabrikmuster mit einer einfachen Fabrikklasse, die als abstrakt deklariert ist. Tu das nicht! Die Menschen verwechseln einfache Fabriken in der Regel mit einer allgemeinen Fabrik oder mit einem der kreationalen Designmuster.

In den meisten Fällen ist eine einfache Factory ein Zwischenschritt zur Einführung von Factory Method- oder Abstract Factory-Mustern. Erstellungsmethode, die im Buch „Umgestaltung für Muster” als „eine Methode, die Objekte erstellt” definiert ist. Dies bedeutet, dass jedes Ergebnis eines Factory-Methodenmusters eine „Erstellungsmethode” ist, aber nicht unbedingt umgekehrt. Es bedeutet auch, dass Sie den Begriff „Erstellungsmethode” ersetzen können, wo Martin Fowler den Begriff „Fabrikmethode” in Refactoring verwendet und überall dort, wo Joshua Bloch den Begriff „statische Fabrikmethode” in Effektivem Java verwendet. Das einfache Werksmuster, das im Buch Head First Design Patterns definiert ist. beschreibt eine Klasse mit einer Erstellungsmethode mit einer großen Bedingung, die auf Methodenparametern basiert, wählt aus, welche Produktklasse instanziiert und dann zurückgegeben wird. Eine einfache Factory wird in der Regel durch eine einzelne Methode in einer einzelnen Klasse dargestellt. Im Laufe der Zeit kann diese Methode zu groß werden, so dass Sie entscheiden können, Teile der Methode in Unterklassen zu extrahieren.

Sobald Sie es mehrmals tun, können Sie entdecken, dass das Ganze in die klassische Fabrikmethode Muster verwandelt. Sie möchten vorhandene Objekte wiederverwenden, anstatt neue Objekte zu instancieren (siehe Singleton-Muster). Konstruktoren in den meisten Programmiersprachen müssen neue Klasseninstanzen zurückgeben. Die statische Erstellungsmethode ist eine Problemumgehung für diese Einschränkung. Innerhalb einer statischen Methode kann der Code entscheiden, ob eine neue Instanz erstellt werden soll, indem er den Konstruktor aufruft oder ein vorhandenes Objekt aus einem Cache zurückgibt. Die in GoF-Buch Design Patterns: Elements of Reusable Object-Oriented Software definierte Factory-Methode.

Podziel się