Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 工厂设计模式:工厂能容纳实例吗?_Design Patterns_Factory Pattern - Fatal编程技术网

Design patterns 工厂设计模式:工厂能容纳实例吗?

Design patterns 工厂设计模式:工厂能容纳实例吗?,design-patterns,factory-pattern,Design Patterns,Factory Pattern,我需要创建同一类的多个实例,并决定使用factory模式。我们需要对工厂创建的实例提供查询功能 因此,根据工厂模式的标准,工厂是否可以保存其创建的对象?或者我需要创建另一个组件,允许查询这些实例?通常,对象的所有者应该执行与释放或释放由其创建的对象分配的资源相关的任务 在您的示例中,将执行这些任务的是factory类(或您选择的任何模式)。它当然可以保存它创建的对象,但这意味着factory有两个职责。如果您创建了一个负责保存对所创建对象的引用的存储库类,那就更好了。repository类还可以

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


因此,根据工厂模式的标准,工厂是否可以保存其创建的对象?或者我需要创建另一个组件,允许查询这些实例?

通常,对象的所有者应该执行与释放或释放由其创建的对象分配的资源相关的任务


在您的示例中,将执行这些任务的是factory类(或您选择的任何模式)。

它当然可以保存它创建的对象,但这意味着factory有两个职责。如果您创建了一个负责保存对所创建对象的引用的存储库类,那就更好了。repository类还可以使用factory创建新实例,前提是它还没有具有该ID的对象。

如果我没有完全弄错的话,这听起来更像是。同样,决定一个模式还不清楚,请添加您希望使用factory模式实现的尽可能多的上下文和目标。从外观上看,你可能需要图案。只是猜测而已。