Was ist der Unterschied zwischen Builder-Muster und Flyweight-Muster in Bezug auf die Verwendung, da beide mit einer großen Anzahl von Objekten beschäftigt ist?Was ist der Unterschied zwischen Builder Pattern und Flyweight Pattern?
Antwort
Der Builder Muster wird viele Objekte angelegt, wobei das Flyweight Muster über teilen eine solche Sammlung von Objekten.
Diese beiden Muster behandeln beide "Verbundwerkstoffe", d. H. Objekte, die mehrere Elemente haben können, aber sie müssen überhaupt nicht zusammen verwendet werden. Das Urbild Anwendungsfall für Flyweight ist, wo ein Pool von ein paar Dutzend Zeichen-Objekte werden immer in einem Texteditor Anwendung verwendet (dies ist das Beispiel in der "GoF" book gegeben) Muster
Direkt aus wikipedia.
Flyweight ist ein Software-Design Muster. Ein Fliehgewicht ist ein Objekt, das Speicherverbrauch minimiert, indem viel Daten wie möglich mit anderen ähnlichen Objekten teilen; es ist eine Möglichkeit, Objekte in großen Zahlen zu verwenden, wenn eine einfache wiederholte Darstellung würde eine inakzeptable Menge an Speicher verwenden.
Das Builder-Muster ist ein Software- Design-Muster. Die Absicht ist abstrakte Schritte der Konstruktion von Objekte, so dass verschiedene Implementierungen dieser Schritte können verschiedene Darstellungen von Objekte konstruieren.
Eine hilft beim Erstellen von Objekten und die andere hilft bei der Speichernutzung. Sie könnten möglicherweise einen Builder verwenden, um verschiedene Objekte mit einem Fliegengewicht zu erstellen.
Fliegengewicht ist angemessen, wenn „viele Objekte muss manipuliert werden, und diese können sich keine überflüssigen Daten leisten. " In Java werden String-Objekte als Flyweight verwaltet. Java setzt alle festen String-Literale in einen Literal-Pool. Bei redundanten Literalen behält Java nur eine Kopie im Pool.
Der Schlüssel zur Herstellung von Fliegengewicht ist die Kontrolle der Objekt Instanziierung mit einer Factory-Methode oder Builder-Design-Muster. Die Aufgabe einer Factory-Methode besteht einfach darin, Objekte zu erstellen: Geben Sie bei Eingabe-Kriterien ein Objekt des entsprechenden Typs zurück.
Abstract Factory ähnelt dem Builder, da es auch komplexe Objekte konstruieren kann. Der Hauptunterschied besteht darin, dass das Builder-Muster sich darauf konzentriert, ein komplexes Objekt Schritt für Schritt aufzubauen. Der Schwerpunkt von Abstract Factor liegt auf Familien von Produktobjekten (entweder einfach oder komplex).
- 1. Was ist der Unterschied zwischen Singleton und Registry Design Pattern
- 2. Unterschiede zwischen Modul Pattern und Singleton Pattern?
- 3. Was ist der Unterschied zwischen Front Controller Design Pattern und MVC Design Pattern
- 4. Factory Pattern vs FactoryMethod Pattern
- 5. Singleton Pattern - was ist besser?
- 6. Was ist der Vorteil von Bridge Pattern
- 7. Was ist der Unterschied zwischen "Actor Model" und "Reactor Pattern" in Python?
- 8. Gibt es einen Unterschied zwischen XSD: Pattern und C# Regex?
- 9. ShellScript: Was ist der Unterschied zwischen% und %% hier?
- 10. Aufrufmethoden zwischen Repositorys - Repository Pattern
- 11. Was ist das Ghost Design Pattern?
- 12. Was ist das \ & pattern in Vim Regex
- 13. Was ist LMAX Disruptor Design Pattern?
- 14. Was ist der Unterschied zwischen statischem Block und statischem Feld?
- 15. Observer Pattern und Delegates
- 16. Was ist der Unterschied zwischen einem Algorithmus und einem Entwurfsmuster
- 17. Was ist der Unterschied zwischen einem Muster und einem Pfad?
- 18. Was ist der Unterschied zwischen JDK Dynamic Proxy und CGLib?
- 19. Was ist der Vorteil des Javascript Modul Pattern?
- 20. Was ist der Unterschied zwischen `==` und `ist`?
- 21. Was ist der Unterschied zwischen einem Mixin und dem Dekorationsmuster?
- 22. Hibernate und Flyweight
- 23. pattern() vs toString() in Musterklasse
- 24. Was ist der Unterschied zwischen dem Design-Pattern Chain of Responsibility und einem einfachen if-elseif-else-Block?
- 25. Singleton Design Pattern Implementierung
- 26. Observer Design Pattern vs "Listeners"
- 27. MVC, Repository Pattern und DataLoadOptions
- 28. wcf und Factory \ plugin pattern
- 29. Proxy Entwurf Pattern- tutorialspoint.com Beispiel
- 30. bit pattern passender und ersetzender