设计模式——简单工厂
2014-04-10 08:58
218 查看
设计模式简单工厂模式
我们来看一个简单的例子:一个有关计算器的例子,用户可以输入两个数和操作符号,然后得到结果,普通的思路的代码实例:
?
上面代码确实可以实现这个功能,但是我们却没有考虑到:如果以后需要提供开平方运算,乘方运算扩展时候,改如何做呢?直接加个if else?如果加入了100种运算呢?如果这样去做是不是每次都要去改这部分代码,这样有悖我们可扩展性原则。所以我们需要引入简单工厂模式,把运算给抽象出来,并且加入运算工厂用于接收用户的操作,简单工厂方法代码:
UML图:
操作方法协议接口:
?
操作方法父类:
?
加法实现类:
?
操作工厂类:
?
客户端代码:
?
通过简单工厂模式的重构,这样我们就实现了低耦合度的代码结构,做到了对扩展开放,对修改关闭。如果再增加任何的操作方法,只需要继承操作方法父类,新建一个操作子类,并且在工厂方法里面多加一个if else的判断即可。怎么样很简单吧。
详细代码下载地址:
重构前:http://download.csdn.net/detail/u010013695/6944273
重构后:http://download.csdn.net/detail/u010013695/6944291
设计模式简单工厂模式
1 前言
我们总说面向对象要有可维护性,可扩展性,可复用性。今天我们就来学习一种简单地设计模式--简单工厂模式(FACTORY)。通过面向对象的封装,继承和多态来降低程序的耦合度。下面就让我们来深入学习这个模式。2 详述
工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。我们来看一个简单的例子:一个有关计算器的例子,用户可以输入两个数和操作符号,然后得到结果,普通的思路的代码实例:
?
UML图:
操作方法协议接口:
?
?
?
?
?
3 结语
以上是所有内容,希望对大家有所帮助。详细代码下载地址:
重构前:http://download.csdn.net/detail/u010013695/6944273
重构后:http://download.csdn.net/detail/u010013695/6944291
相关文章推荐
- 设计模式笔记1:简单工厂模式
- java设计模式系列--简单工厂模式
- Java设计模式——简单工厂(Simple Factory)
- 设计模式-简单工厂模式
- Design Patterns Simplified - Part 3 (Simple Factory)【设计模式简述--第三部分(简单工厂)】
- JAVA设计模式是个什么玩意儿_00_工厂模式家族准备篇_简单工厂模式
- 设计模式学习之路-简单工厂模式
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- [Java] 设计模式之工厂系列 01 简单工厂 - 缺点 :产生产品系列的时候很麻烦,会工厂泛滥
- 设计模式(一):简单工厂
- 设计模式:简单工厂、工厂方法、抽象工厂之小结与区别
- 设计模式(1)(2):简单工厂模式和策略模式
- 设计模式学习笔记(四):简单工厂模式
- JAVA接口工厂和代理设计模式,简单
- 设计模式之简单工厂模式
- 【设计模式】策略模式 VS. 简单工厂
- 设计模式(21) ------------简单工厂模式
- JAVA设计模式 — 简单工厂模式
- Delphi 设计模式:《HeadFirst设计模式》Delphi7代码---工厂模式之简单工厂
- 设计模式之简单的工厂模式