工厂模式其实就是简单模式的升级版本,

简单模式将界面与业务逻辑区分开,但是如果不停的增加计算器的运算方式,简单模式中的工厂Factory 中判断的业务逻辑会变非常复杂,这不符合封装的原则。

所以在此之上将Factory抽象了出来,代码如下:

class Cal
{public:virtual double getResult(){return 0;}void setPara(double paraA,double paraB){parameterA = paraA;parameterB = paraB;}
protected:double parameterA;double parameterB;};class Plus:public Cal
{
public:Plus(){}double getResult(){return parameterA + parameterB;}
};class Minus:public Cal
{
public:Minus(){}double getResult(){return parameterA - parameterB;}
};class FactoryInterface
{
public:virtual Cal * createCal() = 0;
};class AddFactory:public FactoryInterface
{
public:Cal *createCal(){return new Plus();}
};class MinusFactory:public FactoryInterface
{
public:Cal *createCal(){return new Minus();}
};void main()
{double paraA = 5,paraB=43,result = 0;FactoryInterface *factory = new AddFactory;Cal *cal = factory->createCal();cal->setPara(paraA,paraB);result = cal->getResult();cout<<result<<endl;
}

  

转载于:https://www.cnblogs.com/liujin2012/archive/2013/01/09/2853144.html

设计模式学习2 工厂模式相关推荐

  1. 设计模式 - 学习笔记 - 工厂模式Factory Pattern

    设计模式 - 学习笔记 - 工厂模式Factory Pattern 1. 简单工厂 1.1 应用场景 1.2 UML 1.3 优劣分析 好处 缺点 1.4 代码示例 抽象产品 AbstractProd ...

  2. Java设计模式学习之工厂模式

    简单工厂模式 我直接上代码代码里有很详细的注解 //简单工厂模式 是由一个工厂对象决定创建出哪种产品 class Factory1 {publicstatic void main(String[] a ...

  3. 设计模式学习总结——工厂模式

    在我们平常创建对象的时候,都是通过关键字 new 来实现的,例: Class A = new A() . 在一些情况下,要创建的对象需要一系列复杂的初始化操作,比如查配置文件.查数据库表.初始化成员对 ...

  4. 设计模式学习之工厂模式(附demo)

    介绍 工厂模式(Factory Pattern) 是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建对象时不会对客户端暴 ...

  5. Java设计模式学习02——工厂模式

    工厂模式 工厂模式主要是为创建对象提供接口,将创建对象的过程隔离起来,实现了创建者与调用者的分离,提高了程序的灵活性.  核心本质: 实例化对象,用工厂方法代替new操作. 将选择实现类.创建对象统一 ...

  6. 设计模式学习-工厂方法模式

    在上文(设计模式学习-简单工厂模式)的模拟场景中,我们用简单工厂模式实现了VISA和MASTERARD卡的刷卡处理,系统成功上线并运行良好,突然有一天老大跑来说,我们的系统需要升级,提供对一般银联卡的 ...

  7. 一起学习设计模式--02.简单工厂模式

    工厂模式是最常用的一类创建型设计模式.我们所说的工厂模式是指工厂方法模式,它也是使用频率最高的工厂模式. 简单工厂模式是工厂方法模式的小弟,它不属于GoF 23种设计模式,但是在软件开发中应用也颇为频 ...

  8. 设计模式学习笔记——工厂(Factory)模式

    设计模式学习笔记--工厂(Factory)模式 @(设计模式)[设计模式, 工厂模式, factory] 设计模式学习笔记工厂Factory模式 基本介绍 工厂案例 类图 实现代码 framework ...

  9. 【设计模式学习】工厂方法模式

    cpp学习设计模式:工厂方法模式 在学习工厂方法模式之前,先回忆前面学的简单工厂模式: 简单工厂模式就是将对象的创建和逻辑的判断都交给了一个工厂类去做,这样做的优点是客户端不需要知道具体产品类的类名和 ...

最新文章

  1. 离开一线互联网大厂的年轻人在想什么?
  2. 我的AngularJS学习轨迹
  3. Thymeleaf 中js 使用等报错问题
  4. 说好的敬畏每一行代码呢?Antd代码彩蛋炸翻一圈人
  5. C++对象模型学习——站在对象模型的尖端
  6. ALBERT第一作者亲自讲解:Transformer、BERT、ALBERT、XLNet全面解析
  7. C#非泛型集合类-使用HashTable组织数据
  8. 第 2-1 课:类与 Object + 面试题
  9. Java网络爬虫该如何学习
  10. 外参矩阵(旋转矩阵+平移向量)以及外方位元素的关系
  11. [开发笔记]-判断当前是否联网
  12. C++ 资源大全整理
  13. 复杂脑网络之图论参数计算(BCT工具包)
  14. dependency-check-maven安全漏洞扫描工具介绍
  15. excel冻结窗口_东莞黄江办公自动化培训零基础电脑Excel培训中心
  16. 年化收益率超50%的“白马股基金”,幕后操盘手终于找到了!
  17. Mint20系统安装微信
  18. Buuctf:[MRCTF2020]你传你呢
  19. matlab命令(应该很全了,欢迎补充!)
  20. 微信小程序 SKU设计与实现 前端 数据结构分析

热门文章

  1. jQuery--AJAX传递xml
  2. JSP学习笔记(七):使用JavaBean
  3. PHP中MD5函数漏洞
  4. java foreach 循环原理
  5. JavaScript---认识JavaScipt
  6. 软件定义光网络-SDON
  7. 计算机设备管理器不显示com,台式机设备管理器打开是空白怎么办_win10设备管理无法显示解决方法...
  8. ckeditor finder php,CKEDITOR CKFINDER的图片上传配置(C#/asp.net/php)
  9. UI设计培训分享:ui的字体怎么正确设置?
  10. 学java为什么要报java培训班?