设计模式:简单工厂模式

简单工厂模式说简单点就是把创建对象的工作封装到一个类的方法中去。下面根据计算类来说明(源自于<<大话设计模式>>)

首先是操作的一个基类:

    

注意这个基类中有一个虚函数GetResult(),是为了实现多态用的。

下边是一个操作Add类

 

具体实现GetResult()函数

 

下面是工厂类:

class OperatorFactroy
{
  public:
     OperatorFactroy(void);
  public:
     ~OperatorFactroy(void);
 public:
     Operator* CreateOperator(char opera);
private:
     char ope;
};

下面是主类:

 Operator* myOperator;
 OperatorFactroy operatorFactory;

 myOperator=operatorFactory.CreateOperator ('+');

 myOperator->GetResult ()

一切东西通过代码可以反应处理,工厂模式到了这个地步应该比较的清楚了

使用简单工厂的好处:各个运算之间是分离的。
如果想增加一种算法,不会影响其它的算法,只需写一个继承与Operator的类
就可以了,然后再到OperatorFactory添加了分支就Ok。而主程序无需改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值