¿Cuál es la diferencia entre el patrón del generador y el patrón del peso mosca en términos de uso, ya que ambos se ocupan de una gran cantidad de objetos?¿Cuál es la diferencia entre el patrón de construcción y el patrón de peso mosca?
Respuesta
El Builder se utiliza para crear muchos objetos, por lo que el patrón de peso mosca es de aproximadamente compartir una colección de objetos tales.
Estos dos patrones se refieren a "materiales compuestos", es decir, objetos que pueden tener varios elementos, pero que no necesitan ser utilizados en conjunto. El caso de uso arquetipo de peso mosca es donde un grupo de unas pocas docenas de caracteres objetos se utilizan una y otra vez en una aplicación de edición de texto (este es el ejemplo dado en la "GoF" book) flyweight
Directamente de la wikipedia.
peso mosca es un diseño patrón de software. Un flyweight es un objeto que minimiza el uso de la memoria al compartir como tantos datos como sea posible con otros objetos similares ; es una forma de utilizar objetos en grandes cantidades cuando una representación repetida simple usaría una cantidad inaceptable de memoria.
El Builder es un patrón de diseño de software . La intención es pasos abstractos de construcción de objetos para que las diferentes implementaciones de estos pasos puedan construir diferentes representaciones de objetos .
Uno ayuda con la construcción de objetos y el otro ayuda con el uso de la memoria. Podría utilizar potencialmente un generador para "construir" diferentes objetos de peso mosca.
es apropiado cuando "muchos objetos debe ser manipulado y estos no pueden permitirse tener datos extraños ". En Java, los objetos String se administran como flyweight. Java pone todos los literales de cadena fijos en un grupo literal. Para literales redundantes, Java solo conserva una copia en el grupo.
La clave para hacer que flyweight funcione es controlando la instanciación de objetos usando un método de fábrica o un patrón de diseño de constructor. El trabajo de un método de fábrica es simplemente crear objetos: dados los criterios de entrada, devuelva un objeto del tipo apropiado.
La fábrica abstracta es similar al constructor porque también puede construir objetos complejos. La principal diferencia es que el patrón de Builder se enfoca en construir un objeto complejo paso a paso. El énfasis del factor abstracto está en las familias de objetos de productos (simples o complejos).
- 1. ¿Cuál es la diferencia entre el patrón de fachada y el patrón de fábrica abstarct?
- 2. ¿Cómo implementa Java el patrón de peso mosca para la cuerda debajo del capó?
- 3. ¿Cuál es la diferencia entre el patrón de diseño de estrategia y el patrón de fábrica abstracto?
- 4. ¿Cuál es la diferencia entre el localizador de servicios y el patrón de diseño de fábrica?
- 5. ¿Cuál es la diferencia entre el controlador en el patrón MVC y el presentador en el patrón MVP?
- 6. Diferencia entre patrón de puente y patrón de adaptador
- 7. Diferencia entre el patrón de estrategia y el patrón de delegación
- 8. ¿Cuál es la diferencia entre el patrón de estrategia y la inyección de dependencia?
- 9. ¿Cuál es el patrón de constructor revisado?
- 10. ¿Cuál es la diferencia entre los decoradores de Python y el patrón de decorador?
- 11. ¿Cuál es la diferencia entre un mixin y el patrón de decorador?
- 12. ¿Cuál es la diferencia entre un Functor y el patrón Command?
- 13. ¿Diferencias entre el patrón Proxy y el patrón del Adaptador?
- 14. diferencia entre un repositorio y el patrón de fábrica
- 15. ¿Cuál es la diferencia entre todos los métodos estáticos y la aplicación de un patrón singleton?
- 16. ¿cuál es el nombre de este patrón?
- 17. ¿Diferencia entre el paradigma de programación, el patrón de diseño y la arquitectura de la aplicación?
- 18. Cuál es la diferencia entre un algoritmo y un Patrón de diseño
- 19. ¿Cuál es la diferencia entre un patrón de Singleton y una clase estática en Java?
- 20. Java: ¿Cuál es la diferencia entre estos métodos de construcción
- 21. Diferencia entre patrón de adaptador de objeto y patrón de adaptador de clase
- 22. Algunas aclaraciones sobre el patrón SyncRoot: ¿cuál es la forma correcta de usar este patrón?
- 23. ¿Cuál es la manera correcta de construir el patrón?
- 24. C# Diferencia entre el patrón de la fábrica y de la COI
- 25. ¿Cuál es la diferencia entre el mango y el hilo?
- 26. ¿cuál es la diferencia entre el objetivo y el proyecto?
- 27. Backbone.Js - ¿Cuál es la diferencia entre el y $ el?
- 28. ¿Cuál es la diferencia entre el NSImage y el UIImage?
- 29. ¿Cuál es la diferencia entre el JSP y el JSTL?
- 30. ¿Cuál es la diferencia entre el tenedor y el hilo?