工厂模式
2017-11-17 16:48
183 查看
简介
工厂模式:
工厂模式基本与简单工厂模式差不多,上面也说了,每次添加一个产品子类都必须在工厂类中添加一个判断分支,这样违背了开放-封闭原则,因此,工厂模式就是为了解决这个问题而产生的。
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使每一个类的实例化延迟到子类.
优点
1不用修改已有代码,开放封闭原则:
2对扩展开放,对更改封闭
与简单工厂模式区别
简单工厂模式:一个工厂生产任意产品
工厂模式:多个工厂生产多种产品
测试代码
工厂模式:
工厂模式基本与简单工厂模式差不多,上面也说了,每次添加一个产品子类都必须在工厂类中添加一个判断分支,这样违背了开放-封闭原则,因此,工厂模式就是为了解决这个问题而产生的。
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使每一个类的实例化延迟到子类.
优点
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"); }
相关文章推荐
- 浅谈php设计模式(1)---工厂模式
- C++工厂模式总结(简易版反射)
- 学习spring对于单态模式和工厂模式的实现
- spring工厂模式介绍(SSH学习第6天)
- 工厂模式
- 工厂模式
- Java 工厂模式简单运用
- php实现工厂模式
- PHP 设计模式 单例模式 工厂模式 注册模式
- 工厂模式
- 工厂模式的介绍、优缺点
- Thinking In Design Pattern——工厂模式演绎
- 设计模式和工厂模式的结合
- 设计模式-工厂模式
- 2 简单工厂模式、工厂模式、抽象工厂模式
- C++设计模式---工厂模式
- Factory Pattern 工厂模式
- 黑马程序员-工厂模式
- 从实例谈面向对象编程(OOP)、工厂模式和重构
- 工厂模式和builder模式的区别