设计模式-简单工厂模式
来源:互联网 发布:linux arp缓存时间 编辑:程序博客网 时间:2024/05/29 03:09
在我的前几篇博客中我回顾了下面向对象的特性和4个设计模式法则,今天我来回顾设计模式的第一课:简单工厂模式。
简单工厂模式:由一个统一的工厂类根据需求种类来生产相同类型的不同实现的产品类,结构如下图
代码示范如下:
public class CalUFactory { public Operator produceOperator(String type) { Operator operator = null; switch(type) { case "+": operator = new AddOperator(); break; case "-": operator = new SubOperator(); break; case "*": operator = new MultiOperator(); break; case "/": operator = new DivOperator(); break; default: } }}
这样在外部进行调用的时候就能够根据传入不同的type 来获取不同的计算类。这样做统一了对外提供计算的接口。当我们要新增一种运算的时候 新建一个类 将他填到我们的工厂类终 外部就能够根据新的类型来获取新的计算了,极大的增加了代码的可重用性和可维护性。这样做虽然增加了灵活性,但却增大了工厂类和产品类之间的耦合性,将外部对产品的选择控制通过type交由工厂类。这样做违反了开放封闭原则,和单一职责原则,在生产的产品相对稳定和数量较少的时候可以采用此方法。
阅读全文
0 0
- 简单工厂设计模式
- 设计模式-----简单工厂
- 简单工厂设计模式
- 设计模式:简单工厂
- 设计模式 - 简单工厂
- 设计模式 简单工厂
- 【设计模式】【简单工厂】
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式--简单工厂
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式------------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- 设计模式---------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- iOS编程基础-OC(四)-内存管理(续)
- tomcat6下载地址
- 手把手教你vuex写个简单的购物车DEMO
- First CSND
- Liferay7开发环境搭建
- 设计模式-简单工厂模式
- CWX581S语音芯片使用新得
- Spring Boot 学习笔记--整合Redis
- 8. Python脚本学习笔记八个别细节一
- 不吉利的日期
- 102页第八题。每个苹果0.8元,第一天买两个,从第二天开始每天买的数量是前一天的2倍,直到当天购买苹果数量超过100,问每天平均花多少钱。
- WinDbg学习
- 9. Python脚本学习笔记九条件语句
- 树莓派上创建个人用户