工厂更新创建的对象,任何设计模式满足这个?

时间:2012-02-06 10:16:45

标签: design-patterns

我正在实施工厂设计模式,但想知道另一种设计模式是否能满足我的要求。

我要做的是: 1.创建包含线程的类的多个实例。实例的不同之处在于线程运行的频率。 2.每个实例都包含一个可以通过添加和删除来更新的引用列表,这些添加和删除是从结构中调用的,因为它保存了所创建的类的知识。 (这是我希望的另一种设计模式,因为织物的责任增加了)

我当然可以实现一个存储库,该存储库包含一个包含生成的实例的列表并更新实例?

但是有没有一种设计模式可以通过更新的功能扩展结构?

1 个答案:

答案 0 :(得分:2)

我不确定你理解你的要求。如果要创建同一类的多个实例,则Factory(无论您的意思是“抽象工厂”或“工厂方法”)不是符合您要求的模式。

如果您创建的多个对象不可变,我会建议使用Flyweight模式(http://en.wikipedia.org/wiki/Flyweight_pattern)。

根据创建对象的复杂程度以及对象与另一对象的不同程度,您可能需要考虑使用Prototype模式(clone vs create new)。

您的一个要求是提供一个干净的界面,提供操作对象所需的功能。为此,Facade模式就是您想要的。

大多数情况下,单一模式不足以解决您的所有问题。您经常需要将它们中的多个组合在一起,并创建自己的。模式只是指南。