工厂模式
来源:互联网 发布:中学生编程竞赛 编辑:程序博客网 时间:2024/04/20 20:03
用处:隐藏了对象创建的细节,只需要知道对象的类型,就可以用对应的工厂子类创建产品。用户看到和使用的只是一个抽象产品,而无需关心到底返回了那个子类。
关键代码:将产品的创建延迟(交给)到子类; 返回的是一个抽象产品
优点:遵循了开闭原则
缺点:每增加一个新的产品,就需要新增一个子类,产品多时,维护量大。
代码:
#include <cstdio>#include <stack>#include <set>#include <iostream>#include <string>#include <vector>#include <queue>#include <list>#include <functional>#include <cstring>#include <algorithm>#include <cctype>#include <string>#include <map>#include <iomanip>#include <cmath>#include <time.h>#define LL long longusing namespace std;class Product{public:virtual void Show() = 0;};class ProductA : public Product{public:void Show(){cout<< "I'm ProductA"<<endl;}};class ProductB : public Product{public:void Show(){cout<< "I'm ProductB"<<endl;}};class Foctory{public: virtual Product* createProductor()=0;};class FoctorA:public Foctory{public: Product* createProductor() { return new ProductA(); }};class FoctorB:public Foctory{public: Product* createProductor() { return new ProductB(); }};Product* getProductor(Foctory *f){ if (f != NULL) return f->createProductor(); delete f;}int main(){ Product *a = getProductor(new FoctorA); a->Show(); Product *b = getProductor(new FoctorB); b->Show();}
0 0
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- Valid Palindrome
- 正则表达式集锦(三)
- Factor Combinations
- 简化条件表达式(一)
- SublimeText2介绍
- 工厂模式
- 使用Oracle分析函数随机抽取N条记录
- IoC模式
- 我和我四次版本的上传模块
- 用ABBYY怎么提高工作效率
- Nginx
- MAC下 IntelliJ IDEA配置tomcat7.0 执行javaweb的问题
- HDU 5770 Treasure(在线倍增LCA+扫描线+线段树)
- Apache 不能解析 PHP