展开全部

所谓简单工厂模式, 就是将容易变化的地方, 考虑用一个独立Class来进行创造实体(Object)的过32313133353236313431303231363533e4b893e5b19e31333337396239程.

目的: 合并创造实体的动作, 统一以变量处理之. 使得新增实体种类时, 可以不修改到已有程序.

举例来说,

* 虚拟码, 不可执行.

* 假设进行加减乘除运算, 分别使用不同的物件, 对变量A, B进行运算.// 简单工厂模式的写法 (已宣告完加减乘除类别, 父类别Operation)

class OperationFactory

{

Operation createOperate(string operate)

{

Operation operr = null;

switch (operate)

{

case "+":

oper = new OperationAdd();

break;

case "-":

oper = new OperationSub();

break;

case "*":

oper = new OperationMul();

break;

case "/":

oper = new OperationDiv();

break;

}

return oper;

}

}

// 用户端写法

Operation oper;

oper = OperationFactory.createOperate("+");

oper.NumberA = 1;

oper.NumberB = 2;

result = oper.GetResult();

范例来源: 大话设计模式 - 悦之文化出版

java 工厂模式的写法_java简单工厂模式是什么相关推荐

  1. Java设计模式-工厂模式(1)简单工厂模式

    Java设计模式-工厂模式(1)简单工厂模式 一.前言 1)例子 2)类图关系 3)代码实现 二.简单工厂模式 2.1.概述: 2.2.类图关系: 2.3.代码修改: 2.4.优缺点 2.5.扩展-简 ...

  2. android常用的工厂模式,Android的设计模式-简单工厂模式

    前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中:java 1.定义 定义一个用于建立对象的接口,让子类决定实例化哪一个类.设计模式 2.介绍 简单工厂模式属于建立型模式. 简单工厂模 ...

  3. 设计模式-工厂模式 Factory Pattern(简单工厂、工厂方法、抽象工厂)

    工厂模式 Factory Pattern(简单工厂.工厂方法.抽象工厂) 工厂模式-创建型模式-提供了创建对象的最佳方式. 在工厂模式中,创建对象时不会对客户端暴露创建逻辑,并且是通过一个共同的接口来 ...

  4. 设计模式----2(简单工厂模式的概念,简单工厂模式的实现,简单工厂模式的优缺点)

    简单工厂模式 简单工厂模式的概念 简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式.通过专门定义一个类来负 责创建其他类的实例,被创建的实例通常都具有共同的父类. 具体分类 工厂(Creator ...

  5. java简单工厂模式_Java 简单工厂模式

    Java 简单工厂模式 2014-05-28·WeaponX 3717 次浏览 ## 介绍 简单工厂模式又称静态工厂模式. 简单工厂模式由工厂类角色.抽象产品角色和具体产品角色组成. 工厂类角色是本模 ...

  6. java 工厂模式的写法_java工厂模式三种详解

    工厂方法模式(Factory Method) 工厂方法模式分为三种: 1.普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.首先看下关系图: 举例如下:(我们举一个发送邮件和短 ...

  7. java 工厂模式的写法_设计模式-工厂模式

    一.概述 什么是工厂模式? 工厂模式(Factory Pattern)是最常见的一种设计模式之一.它主要是提供一种创建对象的最佳方法! 为什么要学习工厂模式? 与通过new来创建对象不同,使用工厂模式 ...

  8. java工厂模式 uml_深入浅出设计模式-简单工厂模式

    模式定义 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式定义了一个创建对象的类,由这个类来封装实例化 ...

  9. 工厂模式 java场景_研磨设计模式之简单工厂模式(场景问题)

    简单工厂不是一个标准的设计模式,但是它实在是太常用了,简单而又神奇,所以还是需要好好掌握的,就当是对学习设计模式的热身运动吧.为了保持一致性,我们尽量按照学习其它模式的步骤来进行学习. 1  场景问题 ...

最新文章

  1. Mybatis解析动态sql原理分析
  2. python 转 exe -- py2exe库实录
  3. pytorch 中 Autograd(四)
  4. COE、SOE、EOE、FOE是什么?
  5. {面试题4: 替换空格}
  6. smarty编译,缓存原理
  7. java ajaxsubmit_jQuery 使用 ajaxSubmit() 提交表单实现方法
  8. java将乱码转换成中文_转:java中文乱码的解决
  9. 戴尔微型计算机云处理器,为创作与品质而生 戴尔全新XPS15 OLED云解析
  10. 深圳:由“独角兽”们构建起的硬核科技之城
  11. iptables和防火墙_iptables的防火墙正常运行时间和安全性
  12. 全国计算机考试上传不了照片,报考2018计算机等级考试对上传照片有何要求?...
  13. 为啥面试需要Aggressive?
  14. 洛谷 P2184 贪婪大陆
  15. 时间对于程序员的价值,以及如何高效地利用时间,同时划分下勤奋度的等级
  16. Elasticsearch最佳实践之使用场景
  17. 解决svmtrain已被删除问题
  18. C# 重置IE安全等级
  19. 【TPU和GPU,谁将一统AI芯片】摩尔定律之后一万倍,10万+热文引爆激辩
  20. xss漏洞开源网站包

热门文章

  1. java宠物健康值_宠物健康微手册:成年篇
  2. python java web前端 net 移动开发_JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的...
  3. matplot绘制图形入门
  4. 史上最全提现模块案例分解
  5. Pytest Hooks方法之pytest_collection_modifyitems改变测试用例执行顺序
  6. 利用openpyxl,Python对excel读写文件
  7. JMeter如何切换成中文详细步骤
  8. js判断数组里是否有重复元素的方法
  9. MySQL数据库编译过程
  10. POJ Area of Simple Polygons 扫描线