Eine kurze Anleitung zu den Entwurfsmustern in JavaScript



Dieser Artikel hilft Ihnen zum besseren Verständnis mit einem detaillierten Ansatz zu den Entwurfsmustern in JavaScript auf vereinfachte Weise.

sind die fortschrittlichen objektorientierten Lösungen für die häufig wiederkehrenden Softwareprobleme. Muster sind wiederverwendbare Designs und Interaktionen von Objekten. Jedes Muster hat einen Namen und wird Teil eines Vokabulars, wenn komplexe Entwurfslösungen diskutiert werden.

Was sind Entwurfsmuster in JavaScript?

kann definiert werden als Software-Vorlage oder eine Beschreibung zur Lösung eines Problems, das in mehreren Fällen beim Entwerfen einer Softwareanwendung oder eines Software-Frameworks auftritt.





Builder-Entwurfsmuster

Lassen Sie uns nun die Viererbande (GoF) diskutieren.



Gruppe von vier

Das 23 Viererbande (GoF) Muster werden normalerweise als Grundlage für alle anderen Muster angesehen.

Die Viererbande (GoF) von Design Patterns:



Elemente wiederverwendbarer objektorientierter Software, Addison-Wesley Professional Computing Series, von Erich Gamma, Richard Helm, Ralph Jhonson, und John Vlissides. T.Diese 23 GoF-Muster gelten im Allgemeinen als Grundlage für alle anderen Muster.Sie werden in drei Gruppen eingeteilt: Kreativ, strukturell und verhaltensorientiert.

Arten von Entwurfsmustern

Grundsätzlich gibt es in JavaScript drei verschiedene Arten von Entwurfsmustern. Sie sind wie folgt:

Schöpfungsmuster

Abstrakte Fabrik: Dadurch wird eine Instanz mit mehreren Klassenfamilien erstellt. Dies bietet eine Schnittstelle zum Erstellen von Familien, die verwandte oder abhängige Objekte sind, ohne Angabe ihrer konkreten Klassen.

Erbauer: Diese trennte die Objektkonstruktion von ihrer Darstellung. Trennt auch die Konstruktion eines komplexen Objekts von seiner Darstellung, so dass genau derselbe Konstruktionsprozess mit unterschiedlichen Darstellungen erstellt werden kann.

Fabrikmethode: Dadurch wird eine Instanz für mehrere abgeleitete Klassen erstellt. Definiert auch eine Schnittstelle zum Erstellen eines Objekts, lässt jedoch die Unterklasse entscheiden, welche Klasse instanziiert werden soll. Dies hat auch eine Factory-Methode, mit der eine Klasse die Instanziierung auf Unterklassen verschieben kann.

Prototyp: Es ist eine vollständig initialisierte Instanz, die kopiert oder geklont werden kann. Insbesondere die Art der Objekte, die mit einer prototypischen Instanz erstellt werden sollen, erstellt neue Objekte, indem dieser Prototyp kopiert wird.

Singleton: Es sind vollständig initialisierte Instanzen, die kopiert oder geklont werden sollen.Es handelt sich um eine bestimmte Art von Objekten, die mithilfe einer prototypischen Instanz erstellt und durch Kopieren dieses Prototyps neue Objekte erstellt werden.

Strukturmuster

Adapter: Es entspricht den Schnittstellen der verschiedenen Klassen. Konvertiert auch die Schnittstelle einer Klasse in eine andere Schnittstelle mit Ausnahme derjenigen mit dem Client. Mit dem Adapter können auch Klassen zusammenarbeiten, die aufgrund der Inkompatibilitätsschnittstellen nicht anders hätten sein können.

Brücke: Es trennt die Schnittstelle eines Objekts von seiner Implementierung. Entkoppeln eines Abstracts von seiner Implementierung, sodass beide unabhängig voneinander variieren können.

Zusammengesetzt: Eine Baumstruktur besteht aus einfachen und zusammengesetzten Objekten, die Objekte zu Baumstrukturen zusammensetzen, um Teil-Ganz-Hierarchien darzustellen. Mit Composite können die Clients einzelne Objekte und Objektzusammensetzungen einheitlich behandeln.

Dekorateur: Fügt die Verantwortlichkeiten Objekten dynamisch hinzu. Hängt die zusätzlichen Verantwortlichkeiten dynamisch an ein Objekt an. Dekorateure bieten auch eine flexible Alternative zur Unterklasse zur Erweiterung der Funktionen.

Fassade: Eine einzelne Klasse, die ein gesamtes Subsystem darstellt und eine einheitliche Schnittstelle zu einer Reihe von Schnittstellen in einem System bereitstellt. Die Fassade definiert eine übergeordnete Schnittstelle, die die Verwendung des Subsystems vereinfacht.

Fliegengewicht: Eine feinkörnige Instanz, die für eine effiziente Freigabe verwendet wird, um eine große Anzahl feinkörniger Objekte effizient zu unterstützen. Ein Fliegengewicht ist ein gemeinsam genutztes Objekt, das in mehreren Kontexten gleichzeitig verwendet werden kann.Das Fliegengewicht fungiert in jedem Kontext auch als unabhängiges Objekt. Es ist nicht von einer Instanz der Objekte zu unterscheiden, die nicht gemeinsam genutzt werden.

Proxy: Es ist ein Objekt, das ein anderes Objekt darstellt. Es bietet ein Ersatz- oder Platzhalterobjekt, um den Zugriff darauf zu steuern.

Verhaltensmuster:

Verantwortungskette: Es ist eine Möglichkeit, eine Anforderung zwischen einer Kette von Objekten zu übergeben. Es vermeidet die Kopplung mit dem Absender und sendet eine Anfrage an seinen Empfänger, indem es mehr als einem Objekt die Möglichkeit gibt, die Anfrage zu bearbeiten. Die empfangenden Objekte werden verkettet und die Anforderung entlang der Kette weitergeleitet, bis ein Objekt sie verarbeitet.

Befehl: Es kapselt eine Befehlsanforderung als Objekt. Eingekapselte Anforderung als Objekt, sodass Sie Clients mit unterschiedlichen Anforderungen für Anforderungen, Warteschlangen oder Protokolle parametrisieren und die rückgängig zu machenden Vorgänge unterstützen können.

Dolmetscher: Es ist eine Möglichkeit, Sprachelemente in ein Programm aufzunehmen. 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.

Iterator: Der sequentielle Zugriff auf die Elemente einer Sammlung bietet eine Möglichkeit, sequentiell auf die Elemente eines Aggregatobjekts zuzugreifen, ohne die zugrunde liegende Darstellung verfügbar zu machen.

Vermittler: Es definiert vereinfacht die Kommunikation zwischen Klassen. Definieren Sie ein Objekt, das die Interaktion einer Gruppe von Objekten zusammenfasst. Vermittler Fördert die lose Kopplung, indem verhindert wird, dass Objekte explizit aufeinander verweisen, und Sie können ihre Interaktion unabhängig voneinander variieren.

Erinnerung: Es erfasst und stellt den internen Zustand des Objekts wieder her. Es verletzt nicht die Kapselung, erfasst und externalisiert den internen Zustand eines Objekts, sodass das Objekt später in diesen Zustand zurückversetzt werden kann.

Beobachter: Auf diese Weise können Sie die Änderung einer Reihe von Klassen mitteilen. Es definiert eine Eins-zu-Viele-Abhängigkeit zwischen Objekten, sodass alle abhängigen Objekte automatisch benachrichtigt und aktualisiert werden, wenn ein Objekt seinen Status ändert.

Zustand: Es ändert das Verhalten eines Objekts, wenn sich sein Status ändert. Ermöglicht einem Objekt, sein Verhalten zu ändern, wenn sich der interne Status ändert. Das Objekt scheint seine Klasse zu ändern.

Strategie: Es kapselt einen Algorithmus innerhalb einer Klasse und definiert einen Familienalgorithmus, kapselt jeden einzelnen und macht ihn dann austauschbar. Mit der Strategie kann der Algorithmus unabhängig von den Clients variieren, die ihn verwenden.

Vorlage: Verschieben Sie die genauen Schritte eines Algorithmus auf eine Unterklasse. Es definiert das Grundgerüst eines Algorithmus in einer Operation und verschiebt einige wichtige Schritte auf Unterklassen. Mit der Vorlagenmethode können wir eine Unterklasse erstellen, um bestimmte Schritte eines Algorithmus neu zu definieren, ohne die Struktur des Algorithmus zu ändern.

Besucher: Es definiert eine neue Operation für eine Klasse ohne Änderung. Stellen Sie eine Operation dar, die an den Elementen einer Objektstruktur ausgeführt werden soll. Mit Visitor können Sie eine neue Operation definieren, ohne die Klassen der Elemente zu ändern, für die sie ausgeführt wird.

Damit kommen wir zum Ende dieses Artikels. Ich hoffe, Sie haben die Entwurfsmuster in JavaScript, ihre Typen, ihre Bedeutung und ihre Implementierung verstanden.

wie man PHP Windows installiert

Nachdem Sie die Grundlagen von Entwurfsmustern in JavaScript verstanden haben, lesen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Java J2EE- und SOA-Schulungs- und Zertifizierungskurs von Edureka richtet sich an Studenten und Fachleute, die Java-Entwickler werden möchten. Der Kurs soll Ihnen einen Vorsprung in die Java-Programmierung verschaffen und Sie sowohl für Kernkonzepte als auch für fortgeschrittene Java-Konzepte sowie für verschiedene Java-Frameworks wie Hibernate & schulen Frühling .

Hast du eine Frage an uns? Erwähnen Sie es im Kommentarbereich dieses Blogs „Design Patterns in JavaScript“ und wir werden uns so schnell wie möglich bei Ihnen melden.