Designmuster
Kreative Designmuster
Singleton - Stellen Sie sicher, dass nur eine Instanz einer Klasse erstellt wird, und stellen Sie einen globalen Zugriffspunkt für das Objekt bereit.
Factory (vereinfachte Version der Factory-Methode) - Erstellt Objekte, ohne die Instanziierungslogik dem Client zur Verfügung zu stellen, und verweist über eine gemeinsame Schnittstelle auf das neu erstellte Objekt.
Factory-Methode - Definiert eine Schnittstelle zum Erstellen von Objekten, lässt jedoch Unterklassen entscheiden, welche Klasse instanziiert werden soll, und verweist über eine gemeinsame Schnittstelle auf das neu erstellte Objekt.
Abstract Factory - Bietet die Schnittstelle zum Erstellen einer Familie verwandter Objekte, ohne deren Klassen explizit anzugeben.
Builder - Definiert eine Instanz zum Erstellen eines Objekts, lässt jedoch Unterklassen entscheiden, welche Klasse instanziiert werden soll, und ermöglicht eine genauere Kontrolle über den Konstruktionsprozess.
Prototyp - Geben Sie die Arten von Objekten an, die mithilfe einer prototypischen Instanz erstellt werden sollen, und erstellen Sie neue Objekte, indem Sie diesen Prototyp kopieren.
Verhaltensentwurfsmuster
Verantwortungskette - Es wird vermieden, den Absender einer Anfrage an den Empfänger anzuhängen, sodass andere Objekte auf diese Weise auch die Möglichkeit haben, die Anfrage zu bearbeiten. - Die Objekte werden zu Teilen einer Kette und die Anforderung wird von einem Objekt zu einem anderen über die Kette gesendet, bis eines der Objekte damit umgeht.
Befehl - Kapselung einer Anforderung in ein Objekt, Ermöglicht die Parametrisierung von Clients mit unterschiedlichen Anforderungen und Ermöglicht das Speichern der Anforderungen in einer Warteschlange.
Interpreter - Definieren Sie für eine bestimmte Sprache eine Darstellung für ihre Grammatik zusammen mit einem Interpreter, der die Darstellung verwendet, um Sätze in der Sprache zu interpretieren / eine Domäne einer Sprache zuzuordnen, die Sprache einer Grammatik und die Grammatik einem hierarchischen objektorientierten Design
Iterator - Bieten Sie eine Möglichkeit, nacheinander auf die Elemente eines Aggregatobjekts zuzugreifen, ohne dessen zugrunde liegende Darstellung verfügbar zu machen.
Mediator - Definieren Sie ein Objekt, das die Interaktion einer Reihe von Objekten zusammenfasst. Mediator fördert die lose Kopplung, indem verhindert wird, dass Objekte explizit aufeinander verweisen, und Sie können ihre Interaktion unabhängig voneinander variieren.
Beobachter - Definieren Sie eine Eins-zu-Viele-Abhängigkeit zwischen Objekten, damit alle abhängigen Objekte automatisch benachrichtigt und aktualisiert werden, wenn ein Objekt seinen Status ändert.
Strategie - Definieren Sie eine Familie von Algorithmen, kapseln Sie jeden einzelnen und machen Sie sie austauschbar. Mit der Strategie kann der Algorithmus unabhängig von den Clients variieren, die ihn verwenden.
Vorlagenmethode - Definieren Sie das Grundgerüst eines Algorithmus in einer Operation, indem Sie einige Schritte auf Unterklassen verschieben. Mit der Vorlagenmethode können Unterklassen bestimmte Schritte eines Algorithmus neu definieren, ohne dass sie die Struktur des Algorithmus ändern können.
Besucher - Stellt eine Operation dar, die für die Elemente einer Objektstruktur ausgeführt werden soll. Mit Besucher können Sie eine neue Operation definieren, ohne die Klassen der Elemente zu ändern, für die sie ausgeführt wird.
Null-Objekt - Geben Sie ein Objekt als Ersatz für das Fehlen eines Objekts eines bestimmten Typs an. / Das Null-Objektmuster bietet intelligentes Verhalten, bei dem nichts getan wird, und verbirgt die Details vor seinen Mitarbeitern.
Strukturelle Entwurfsmuster
Adapter - Konvertieren Sie die Schnittstelle einer Klasse in eine andere Schnittstelle, die Clients erwarten. Mit / Adapter können Klassen zusammenarbeiten, was aufgrund inkompatibler Schnittstellen nicht möglich wäre.
Brücke - Verfassen Sie Objekte zu Baumstrukturen, um Teil-Ganz-Hierarchien darzustellen. Mit / Composite können Clients einzelne Objekte und Objektzusammensetzungen einheitlich behandeln.
Zusammengesetzt - Verfassen Sie Objekte zu Baumstrukturen, um Teil-Ganz-Hierarchien darzustellen. Mit / Composite können Clients einzelne Objekte und Objektzusammensetzungen einheitlich behandeln.
Dekorateur - Fügen Sie einem Objekt dynamisch zusätzliche Verantwortlichkeiten hinzu.
Fliegengewicht - Verwenden Sie die Freigabe, um eine große Anzahl von Objekten zu unterstützen, die einen Teil ihres internen Zustands gemeinsam haben, wobei der andere Teil des Zustands variieren kann.
Memento - Erfassen Sie den internen Zustand eines Objekts, ohne die Kapselung zu verletzen, und bieten Sie so ein Mittel, um das Objekt bei Bedarf in den Ausgangszustand zurückzusetzen.
Proxy - Geben Sie einen Platzhalter für ein Objekt an, um Verweise darauf zu steuern.