首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式之-简单工厂模式

2012-09-02 
设计模式之---简单工厂模式简单工厂模式:到底要实例化哪个对象,将来会不会增加实例化对象,这时可以考虑用

设计模式之---简单工厂模式

简单工厂模式:到底要实例化哪个对象,将来会不会增加实例化对象,这时可以考虑用一个单独的类来创造实例的过程,这就是工厂。

以一个2元操作运算来说明:

operator类:

// SimpleFactory.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "Factory.h"#include "Factory.cpp"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){CFactory<double> *pFac=new CFactory<double>;COperator<double>* pOpe=NULL;double result;pOpe=pFac->CreateOperator('+');if(pOpe!=NULL){result = pOpe->GetResult(2,3);cout<<"2 + 3 = "<<result<<endl;delete pOpe;}pOpe=pFac->CreateOperator('-');if(pOpe!=NULL){result = pOpe->GetResult(2,3);cout<<"2 - 3 = "<<result<<endl;delete pOpe;}pOpe=pFac->CreateOperator('*');if(pOpe!=NULL){result = pOpe->GetResult(2,3);cout<<"2 * 3 = "<<result<<endl;delete pOpe;}pOpe=pFac->CreateOperator('/');if(pOpe!=NULL){result = pOpe->GetResult(2,3);cout<<"2 / 3 = "<<result<<endl;delete pOpe;}return 0;}

它不需要管具体实例化哪个对象,这个过程都由工厂类实现了,以后如果要增加其他的二元运算,只须让其继承至COperator类,再修改工厂类的switch分支即可。




热点排行