2009-11-14 93 views

回答

11

Builder模式用于创建许多对象,由此飞锤图案为约共享这样的对象的集合。

这两种模式都处理“复合材料”,即可能有几个元素的物体,但它们根本不需要一起使用。该原型使用情况飞锤就是被反复使用文本编辑器应用程序(这是在"GoF" book给出的例子)

9

直接来自维基百科。

Flyweight

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

Builder

Builder模式是一种软件 设计模式。其目的是为了使 对象的构造的 对象的抽象步骤 不同 实现这些步骤可以构造 对象的不同表示。

一个帮助建立对象和其他帮助内存使用。您可以使用构建器来“构建”不同的轻量级对象。

2

轻量级的模式是在适当的时候“许多对象的几十个字符的池对象必须被操纵,而且这些不能有无关的数据。“在Java中,String对象作为轻量级进行管理。 Java将所有固定的字符串文字放入文字池中。对于冗余文字,Java只保留池中的一个副本。

使flyweight工作的关键是通过使用工厂方法或生成器设计模式控制对象实例化。工厂方法的工作仅仅是创建对象:给定输入条件,返回适当类型的对象。

抽象工厂与构建器类似,它也可以构造复杂的对象。主要区别在于Builder模式着重于逐步构建复杂的对象。抽象因素的重点是产品对象的家族(简单或复杂)。

相关问题