工厂模式 和工厂方法

来源:互联网 发布:php 上传文件大小设置 编辑:程序博客网 时间:2024/06/09 14:29
简单的工厂模式
实现计算器
1、采用算子的方式实现
2、采用工厂 类的方式来创建需要的类,采用比如说switchcase的方式
工厂方法
1、每个需要构建的类都继承自基类,每个类都有自己的工厂
2、每个类需要创建的时候,就创建自己的工厂,然后,在工厂中调用创建自己的行数


工厂方法的好处,不用再switchcase,直接创建需要的类,并实现对应的工厂,需要用的时候,先创建工厂,然后再调用需要的类。

#include<iostream>using namespace std;template <class T>class Operation;template <class T>class Factory{public:virtual Operation<T> *CreateOperation( ) = 0;};template <class T>class Operation{public:virtual T Excute(T left , T right) = 0;};template <class T>class AddOperation : public Operation<T>{public : T Excute(T left , T right){return left + right;}};template <class T>class AddFactory : public  Factory<T>{public :Operation<T> *CreateOperation(){return new AddOperation<T>();}};int main(){Factory<double> *fac_ptr = new AddFactory<double>();Operation<double> * op_ptr = fac_ptr->CreateOperation();cout<<op_ptr->Excute(1,1)<<endl;;}



0 0
原创粉丝点击