Builder Pattern和Flyweight Pattern有什么区别?

use*_*312 8 design-patterns builder-pattern flyweight-pattern

Builder Pattern和Flyweight Pattern在使用方面有什么区别,因为它们都处理大量对象?

mjv*_*mjv 11

Builder模式用于创建许多对象,Flyweight模式用于共享此类对象集合.

这两种模式都涉及"复合材料",即可能具有多个元素的对象,但它们根本不需要一起使用.Flyweight的原型用例是在文本编辑器应用程序中反复使用几十个字符对象的池(这是"GoF"书中给出的示例)


byt*_*der 9

直接来自维基百科.

飞锤

Flyweight是一种软件设计模式.flyweight是一个通过与其他类似对象共享尽可能多的数据来最小化内存使用的对象; 当简单的重复表示将使用不可接受的内存量时,它是一种大量使用对象的方法.

生成器

Builder Pattern是一种软件设计模式.目的是抽象构造对象的步骤,以便这些步骤的不同实现可以构造对象的不同表示.

一个有助于构建对象,另一个有助于内存使用.您可以使用构建器来"构建"不同的flyweight对象.