工厂设计模式:工厂可以保存实例吗?

Ram*_*Ram 2 design-patterns factory-pattern

我需要创建同一个类的多个实例,并决定使用工厂模式.我们需要为工厂创建的实例提供查询功能.

因此,按照工厂模式的标准,工厂可以保留它创建的对象吗?或者我需要创建另一个允许查询这些实例的组件?

wil*_*ood 6

这当然COULD持有它已经创建的对象,但是这意味着,该工厂有两个职责.如果您创建了一个负责保持对创建对象的引用的存储库类,那会更好.如果存储库类还没有具有该ID的对象,则它还可以使用工厂创建新实例.