设计模式之工厂模式
来源:互联网 发布:ajax json 解析 编辑:程序博客网 时间:2024/06/06 02:30
1、工厂模式家族
简单工厂模式、工厂方法模式、抽象工厂模式
2、什么是工厂模式?
工厂模式是由一个工厂对象决定创建出哪一个具体实例,简单工厂模式是工厂模式家族中最简单最常用的一种
优点:客户端不需要修改代码。
缺点: 当需要增加新的运算类的时候,不仅需新加运算类,还要修改工厂类,违反了开闭原则。
简单工厂模式、工厂方法模式、抽象工厂模式
2、什么是工厂模式?
工厂模式是由一个工厂对象决定创建出哪一个具体实例,简单工厂模式是工厂模式家族中最简单最常用的一种
一、简单工厂模式
举例说明:
public static Operation createOperate(string operate) { Operation oper = 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; } }<span style="font-family:SimSun;"></span>
优点:客户端不需要修改代码。
缺点: 当需要增加新的运算类的时候,不仅需新加运算类,还要修改工厂类,违反了开闭原则。
二、工厂方法模式
这个和简单工厂有区别,简单工厂模式只有一个工厂,工厂方法模式对每一个产品都有相应的工厂
好处:增加一个运算类(例如N次方类),只需要增加运算类和相对应的工厂,两个类,不需要修改工厂类。
缺点:增加运算类,会修改客户端代码,工厂方法只是把简单工厂的内部逻辑判断移到了客户端进行。
0 0
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之---工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之-工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之工厂模式
- 设计模式之 ------工厂模式
- 设计模式之工厂模式
- ios 类似于网易的启动页广告
- 在ubuntu14.04下安装hbase1.1.3与hadoop2.6.4的相关配置
- 解决 Warning: calling DestroyWindow in CWnd::~CWnd OnDestroy or PostNcDestroy in derived class will n
- eclipse 下的 android 模拟器联网
- Linux性能测试 netstat命令
- 设计模式之工厂模式
- reveal 1.6.3 本机破解及使用
- Linux进程间通信
- sqlsever 与 Java 数据类型的对应
- iOS App 唤醒另一个App
- hibernate异常:a different object with the same identifier value was already associated
- ARM编译中的RO、RW和ZI DATA区段
- 源码分析 -- 异步消息处理机制
- 使用UGUI制作NGUI的UI Key Navigation