工厂模式通过引入一个工厂类来负责对象的创建,而客户端代码只须要与这个工厂类交互,无须关心具体的对象创建细节。
简单工厂是最简单的环境,须要下面四个步骤,
提供一个抽象工厂类 :所有具体工厂类的父类,
提供与产物对应的工厂类:负责实例化产物对象,
提供一个抽象产物类: 所有产物的父类,
提供一个或多个产物类:工厂方法模式所创建的具体实例对象,
一个简单例子,具有抽象产物类、产物类、工厂类三种类;
抽象产物类:Gold,金子类;
产物类:金条类,金砖类,金元宝类;
工厂类:GoldFactory,根据传入的范例字符串来生产不同的金子产物;
简单实现示例,只有一个属性;
- #include <iostream>
- class Gold {
- public:
- Gold(int weight) :m_weight(weight){}
- virtual ~Gold(){}
- protected:
- int m_weight;
- };
- class GoldBar :public Gold {
- public:
- GoldBar(int weight) :Gold(weight)
- {
- std::cout << "金条" << std::endl;
- }
- };
- class GoldBrick :public Gold {
- public:
- GoldBrick(int weight) :Gold(weight)
- {
- std::cout <&l
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |