Frage

Was ist der Unterschied zwischen Builder Pattern und Flyweight-Muster in Bezug auf die Nutzung, da sie beide mit einer großen Anzahl von Objekten zu tun hat?

War es hilfreich?

Lösung

Das Muster Builder wird verwendet, um erstellen viele Objekte, wobei das Flyweight Muster über teilen ein solches Sammlung von Objekten.

Diese beiden Muster beide mit „Composites“, das heißt Objekte, die mehrere Elemente aufweisen können, aber sie müssen nicht zusammen überhaupt verwendet werden. Das Urbild Anwendungsfall für Flyweight ist, wo ein Pool von ein paar Dutzend Zeichen Objekte verwendet werden, immer und immer wieder in einem Texteditor (dies ist das Beispiel in der "GoF" book )

Andere Tipps

Gerade aus wikipedia.

Flyweight

  

Flyweight ist ein Software-Design   Muster. Ein Fliehgewicht ist ein Objekt,   minimiert die Speichernutzung durch gemeinsame Nutzung als   viele Daten wie möglich mit anderen   ähnliche Gegenstände; es ist eine Art und Weise zu verwenden,   Objekte in großer Zahl, wenn eine einfache   wiederholte Darstellung verwenden würde ein   inakzeptable Menge an Speicher.

Builder

  

Der Builder Pattern ist ein Software   Design-Muster. Die Absicht ist es,   abstrakte Schritte des Baus   Objekte, so dass unterschiedliche   Implementierungen dieser Schritte können   Konstrukt verschiedene Darstellungen von   Objekte.

Ein hilft mit Objekten zu bauen und die andere Hilfe bei der Speichernutzung. Sie könnten möglicherweise einen Builder auf „Build“ verschiedene Fliegengewicht Objekte verwenden.

Fliegengewicht Muster ist angemessen, wenn „viele Objekte manipuliert werden müssen und diese nicht leisten können, irrelevante Daten zu haben.“ In Java werden String-Objekte als Fliegengewicht verwaltet. Java stellt alle festen Stringliterale in einem wörtlichen Pool. Für redundante Literalen Java hält nur eine Kopie im Pool.

Der Schlüssel Fliegengewicht Arbeit zu machen, ist durch Objektinstanziierung Steuerung einer Factory-Methode oder Builder-Entwurfsmuster verwenden. Die Aufgabe einer Factory-Methode ist einfach Objekte zu erstellen: gegebene Eingabekriterien, gibt ein Objekt des entsprechenden Typs.

Abstrakte Fabrik ist ähnlich wie Builder, dass es möglicherweise zu komplex Objekte konstruieren. Der Hauptunterschied besteht darin, dass das Muster fokussiert Builder ein komplexes Objekt Schritt für Schritt auf die Konstruktion. Zusammenfassung Faktor der Schwerpunkt liegt auf Familien von Produktobjekten (entweder einfach oder komplex).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top