Builder模式和Flyweight模式在使用方面有什么区别,因为它们都处理大量的对象?Builder模式和Flyweight模式有什么区别?
8
A
回答
11
Builder模式用于创建许多对象,由此飞锤图案为约共享这样的对象的集合。
这两种模式都处理“复合材料”,即可能有几个元素的物体,但它们根本不需要一起使用。该原型使用情况飞锤就是被反复使用文本编辑器应用程序(这是在"GoF" book给出的例子)
9
2
轻量级的模式是在适当的时候“许多对象的几十个字符的池对象必须被操纵,而且这些不能有无关的数据。“在Java中,String对象作为轻量级进行管理。 Java将所有固定的字符串文字放入文字池中。对于冗余文字,Java只保留池中的一个副本。
使flyweight工作的关键是通过使用工厂方法或生成器设计模式控制对象实例化。工厂方法的工作仅仅是创建对象:给定输入条件,返回适当类型的对象。
抽象工厂与构建器类似,它也可以构造复杂的对象。主要区别在于Builder模式着重于逐步构建复杂的对象。抽象因素的重点是产品对象的家族(简单或复杂)。
相关问题
- 1. Builder,Factory Method和Abstract Factory模式之间有什么区别?
- 2. DAO和DP模式有什么区别?
- 3. “::”和“sys”模式有什么区别?
- 4. Oracle和Microsoft模式有什么区别?
- 5. Factory和Strategy模式有什么区别?
- 6. IE11兼容模式和IE10兼容模式有什么区别
- 7. 设计模式和架构模式有什么区别?
- 8. 睡眠模式和深度睡眠模式有什么区别?
- 9. 开发模式和生产模式有什么区别?
- 10. ASP.net实例模式有什么区别?
- 11. MVC模式中的模型和实体有什么区别?
- 12. 独木舟模拟模式和测试模式有什么区别
- 13. LUIS中的预览模式和生产模式有什么区别?
- 14. 操作系统中的用户模式和内核模式有什么区别?
- 15. NIB和XIB Interface Builder文件格式有什么区别?
- 16. Flyweight vs对象池模式:什么时候有用?
- 17. 这三种模块模式有什么区别?
- 18. Flash Professional和Flash Builder有什么区别?
- 19. Builder模式和failling
- 20. 界面和设计模式有什么区别?
- 21. Facade和Gateway设计模式有什么区别?
- 22. Spring singleton和Java singeleton(设计模式)有什么区别?
- 23. 设计和建筑模式有什么区别
- 24. 内核和用户模式编程有什么区别?
- 25. hl7 FHIR json模式中__assertedDate和assertedDate有什么区别?
- 26. 策略和工厂设计模式有什么区别?
- 27. 垫片和立面/适配器模式有什么区别?
- 28. Python装饰器和装饰器模式有什么区别?
- 29. 脚本语言和模式匹配技术有什么区别?
- 30. 在我的Solr模式中,tdouble和tdoubles有什么区别?