c++ 简单工厂模式
时间: 2023-10-18 18:55:59 浏览: 216
简单工厂模式是一种创建型设计模式,它提供了一种通过一个共同的接口来创建不同类型对象的方式。在引用中的代码示例中,我们可以看到IFactory接口和AddFactory类以及MultiFactory类的定义,它们都是用来创建Operation对象的。这里的Operation对象可以是AddOperation或者MultiOperation的实例,具体由具体的工厂类决定。通过这种方式,我们可以根据不同的需求,使用相同的接口来创建不同的对象。
在引用中的代码示例中,我们可以看到Factory接口和ShoesFactory类以及CoatFactory类的定义,它们都是用来创建Clothing对象的。这里的Clothing对象可以是Cloes或者Coat的实例,具体由具体的工厂类决定。通过这种方式,我们可以根据不同的需求,使用相同的接口来创建不同的对象。
简单工厂模式的优点是可以将对象的创建和使用分离,使得代码更加灵活和可扩展。当需要添加新的对象类型时,只需要新增一个具体工厂类和相应的对象类,而不需要修改已有的代码。同时,简单工厂模式也隐藏了对象的创建细节,使用者只需要关心接口就可以获取到所需的对象。
需要注意的是,简单工厂模式在增加新的对象类型时,会违反开闭原则,因为需要修改工厂类的代码。但是,对于简单工厂模式来说,这个修改是比较小的,不会对已有的代码产生太大的影响。
总结一下,简单工厂模式是一种通过共同的接口来创建不同类型对象的方式,它将对象的创建和使用分离,使得代码更加灵活和可扩展。在实际应用中,我们可以根据不同的需求选择不同的工厂类来创建所需的对象。<em>1</em><em>2</em><em>3</em>
#### 引用[.reference_title]
- *1* *3* [C++设计模式-工厂模式](https://blog.csdn.net/qq78442761/article/details/91876487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
- *2* [C++工厂模式](https://blog.csdn.net/zt18786458319/article/details/127879445)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}} ] [.reference_item]
[ .reference_list ]
阅读全文