Wie der Name schon sagt, wird ein Buildermuster zum Erstellen von Objekten verwendet. Manchmal können die von uns erstellten Objekte komplex sein, aus mehreren Unterobjekten bestehen oder einen aufwendigen Konstruktionsprozess erfordern. Die Erstellung komplexer Typen kann mithilfe des Buildermusters vereinfacht werden. Ein zusammengesetztes oder aggregiertes Objekt ist das, was ein Builder im Allgemeinen erstellt. Wenn Sie sich nur ein Bild von Entwurfsmustern im Allgemeinen machen möchten, müssen Sie das Beispielprojekt nicht klonen oder eines der Tools installieren. Um den Beispielcode ausführen zu können, müssen Sie jedoch folgendes installieren: Design patterns sind in letzter Zeit zu einem Gegenstand einiger Kontroversen in der Programmierwelt geworden, hauptsächlich aufgrund ihrer wahrgenommenen “Überbeanspruchung”, die zu Code führt, der schwieriger zu verstehen und zu verwalten sein kann. Das Strategiemuster ermöglicht das Gruppieren verwandter Algorithmen unter einer Abstraktion, wodurch ein Algorithmus oder eine Richtlinie für einen anderen ausgewechselt werden kann, ohne den Client zu ändern. Anstatt einen einzelnen Algorithmus direkt zu implementieren, erhält der Code Laufzeitanweisungen, in denen angegeben wird, welche der auszuführenden Algorithmengruppe ausgeführt werden soll. Eine Klasse, die das Singleton-Entwurfsmuster verwendet, enthält, Diese Entwurfsmuster beziehen sich auf die Objektkommunikation von Class. Verhaltensmuster sind muster, die sich am spezifischsten mit der Kommunikation zwischen Objekten befassen. Aber das Wissen um Singleton ist immer noch enorm nützlich. Das Singleton-Muster stellt sicher, dass eine Klasse nur einmal erstellt wird, und bietet einen globalen Zugriffspunkt darauf. Sehen wir uns den Beispielcode für das Beobachtermuster an, beginnend mit der Subjekt-/Themenklasse: Dieses Muster ist eine 1:n-Abhängigkeit zwischen Objekten, sodass, wenn ein Objekt den Status ändert, alle abhängigen Elemente benachrichtigt werden.

Dies geschieht in der Regel durch Aufrufen einer ihrer Methoden. Bei diesen Entwurfsmustern dreht sich alles um die Klassen- und Objektzusammensetzung. Strukturelle Klassenerstellungsmuster verwenden Vererbung, um Schnittstellen zu erstellen. Strukturelle Objektmuster definieren Möglichkeiten zum Komponieren von Objekten, um neue Funktionen zu erhalten. Das Singleton-Entwurfsmuster ist ein Schöpfungsmuster, dessen Ziel es ist, nur eine Instanz einer Klasse zu erstellen und nur einen globalen Zugriffspunkt für dieses Objekt bereitzustellen. Ein häufig verwendetes Beispiel für eine solche Klasse in Java ist Calendar, wo Sie keine Instanz dieser Klasse erstellen können. Es verwendet auch seine eigene getInstance()-Methode, um das zu verwendende Objekt abzulegen. Per Definition muss ein Muster neu in jede Anwendung programmiert werden, die es verwendet. Da einige Autoren dies als einen Schritt zurück von der Software-Wiederverwendung sehen, wie sie von Komponenten bereitgestellt werden, haben Forscher daran gearbeitet, Muster in Komponenten umzuwandeln. Meyer und Arnout konnten zwei Drittel der versuchten Muster vollständig oder teilweise komponenten. [5] Liste von 22 klassischen Designmustern, gruppiert nach ihrer Absicht.