![]() |
1
11
构建器模式用于 创造 许多物体,其中飞锤图案是关于 分享 这样的对象集合。 这两种模式都处理“复合物”,即可能包含多个元素的对象,但它们根本不需要一起使用。Flyweight的原型用例是 由几十个字符组成的对象池 在文本编辑器应用程序中反复使用(这是 "GoF" book ) |
![]() |
2
9
|
![]() |
3
2
当“许多对象必须被操纵,并且这些数据不能提供外来数据”时,Ful权重模式是合适的。在爪哇中,String对象被管理为Ful权重。Java将所有固定字符串文本放入文本池中。对于冗余文本,Java在池中只保留一个副本。 使flyweight工作的关键是通过使用工厂方法或生成器设计模式控制对象实例化。工厂方法的工作只是创建对象:给定输入条件,返回适当类型的对象。 抽象工厂类似于生成器,因为它也可以构造复杂的对象。主要的区别在于构建器模式专注于一步一步地构造复杂的对象。抽象因子的重点是产品对象的系列(简单或复杂)。 |