Was ist ein Composite Design Pattern?

Mahipal Nehra
Mahipal Nehra

Folgen Sie

8. Mai 2020 · 3 Minuten Lesezeit

Composite Design Pattern ist ein Entwurfsmuster, das in die Kategorie der Strukturmuster fällt. Solche Muster befassen sich damit, wie Klassen und Objekte zu größeren Strukturen zusammengesetzt werden. Composite Pattern beschreibt eine solche Methode zum Erstellen einer Klassenhierarchie, die aus Klassen für zwei verschiedene Arten von Objekten (Composite und primitive) besteht. Ein Ziel der Softwareentwicklung ist es, eine hohe Kohäsion zwischen Modulen aufrechtzuerhalten und die Kopplung zu reduzieren.

Viele Anwendungen, die mit hierarchischen Daten umgehen müssen, müssen sicherstellen, dass ihre Klassen nicht zu stark voneinander abhängig sind, da solche Anwendungen ihre Komponenten ständig aktualisieren müssen. Ein Dateisystem ist ein klassisches Beispiel für eine hierarchische Struktur, die Ordner in Ordnern und Dateien in Ordnern enthält. Eine Datei kann ein Video, ein Textdokument oder eine Audiodatei sein. Es kann also mehrere Audiodateien in einem Ordner und mehrere Videodateien in einem anderen Ordner geben, und beide können sich in einem anderen Ordner befinden, der „Medien“ darstellt, der sich selbst in einem anderen Ordner namens „Vorträge“ befinden kann. Der Vorlesungsordner kann auch einen anderen Ordner enthalten, der das Thema darstellt, und dies kann für immer so weitergehen. Der Punkt, den wir versuchen zu machen, ist, wenn Sie versuchen, eine solche Anwendung zu entwerfen, die sich mit hierarchischen Komponenten befasst, können Sie am Ende Klassenstrukturen erstellen, die stark gekoppelt sind, und um mehr Komponenten hinzuzufügen, kann eine Menge Redundanz auftreten. Um dieses häufige Problem zu lösen, bietet Composite Design Pattern eine elegante Lösung. Lassen Sie uns zunächst sehen, was ein zusammengesetztes Entwurfsmuster ist? (Java Development Company)

Zusammengesetztes Entwurfsmuster stellt eine Entwurfshierarchie bereit, in der sich Knoten mit untergeordneten Knoten von Knoten ohne untergeordnete Knoten unterscheiden. Sie können in diesem Fall an die Baumdatenstruktur denken. Im Vergleich zu unserem Beispiel kann ein Knoten ein Ordner sein, und untergeordnete Knoten können Dateien oder Ordner sein, die aus Dateien bestehen. Eine Gruppe von Objekten werden auf die gleiche Weise wie eine einzelne Instanz des gleichen Typs dieses Objekts behandelt, also egal was, wir werden den Knoten und seine Kinder als Ordnerkomponente betrachten, Dies erleichtert es uns, unsere hierarchische Struktur von Komponenten für unsere Anwendung zu entwerfen. Wir werden Komponenten (Objekte) innerhalb von Komponenten (Objekten) als Kompositionen bezeichnen. Mit dem Composite Design Pattern kann der Kunde einzelne Objekte und Kompositionen einheitlich behandeln. Das Wichtigste, was Sie beachten sollten, ist die Baumstruktur, während Sie sich mit diesem Entwurfsmuster befassen. Um besser zu verstehen, was Composite Design Pattern und seine Anwendbarkeit ist, verwenden wir ein Codebeispiel in Java, das dem von uns angegebenen Dateisystembeispiel ähnelt.

Lesen Sie: „Alles, was Sie über Template Method Design Pattern wissen müssen“

Composite Design pattern example

Das Beispiel, das wir verwenden werden, ist ein Kurs, der aus Themen und Vorlesungen besteht. Wenn Sie einen Kurs zu einem Thema belegen, gibt es ein Thema, und dieses Thema kann aus vielen Themen und Vorlesungen bestehen. Also, wie würde das umgesetzt werden? Wir zeigen Ihnen zunächst den gemeinsamen Ansatz.

Lassen Sie uns eine Vorlesungsklasse erstellen

Abb: composite Design pattern Beispiel in Java — Vorlesungsklasse

Die Vorlesung hat einen Namen und eine Anzeigemethode, um die Hierarchie anzuzeigen.

Die Themenklasse

Abb.: composite design pattern example in java — Topic Class

In unserem Beispiel verfügt die topic-Klasse über die Funktionen Hinzufügen eines Themas, Hinzufügen einer Vorlesung und Anzeigen der Vorlesungen und Themen in einer Hierarchie. Thema bindet andere Themen und Vorträge in sich. So können wir Unterthemen und Vorträge zu jedem haben.

Mal sehen, wie wir diese in der Hauptmethode kombinieren

Vollständiger Artikel: https://www.decipherzone.com/blog-detail/when-use-composite-design-pattern-java

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.