您的位置:首页 > 其它

工厂模式

2017-11-17 16:48 183 查看
简介

工厂模式:

工厂模式基本与简单工厂模式差不多,上面也说了,每次添加一个产品子类都必须在工厂类中添加一个判断分支,这样违背了开放-封闭原则,因此,工厂模式就是为了解决这个问题而产生的。

定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使每一个类的实例化延迟到子类.

优点

1不用修改已有代码,开放封闭原则:

2对扩展开放,对更改封闭

与简单工厂模式区别

简单工厂模式:一个工厂生产任意产品

工厂模式:多个工厂生产多种产品

测试代码

#include <iostream>
using namespace std;

//产品类
class FBookItem
{
public:
FBookItem();
~FBookItem();

void clean();
void read();
void fire();
};

class FChildBookItem : public FBookItem
{

};

class FAluteBookItem : public FBookItem
{

};

//工厂类

class iFactory
{

};
class FChildBookItemFactory : public iFactory
{
public:
FChildBookItemFactory();
~FChildBookItemFactory();

FBookItem* createItem()
{
return new FChildBookItem();
};
};

class FAluteBookItemFactory : public iFactory
{
public:
FAluteBookItemFactory();
~FAluteBookItemFactory();

FBookItem* createItem()
{
return new FAluteBookItem();
};
};

void main()
{

system("PAUSE");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: