简单工厂 VS 工厂方法
来源:互联网 发布:安卓模拟器linux版 编辑:程序博客网 时间:2024/06/05 15:25
1、工厂方法模式介绍:
工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到子类。
还以简单工厂模式中的例子为例:将简单工厂模式中的工厂TV类提出来作为一个公共的接口,而对应的各个功能类各建立一个具体的工厂去实现这个接口。如下:
Interface IFactory //工厂接口{FunctionChoice createFunctionChoice();}class MenuFactory:IFactory //菜单工厂{Public FunctionChoice createFunctionChoice(){return new Menu();}}class AddVoiceFactory:IFactory //加大声音工厂{Public FunctionChoice createFunctionChoice(){return new AddVoice();}}Class SubVoiceFactory:IFactory //减小声音工厂{Public FunctionChoice createFunctionChoice(){return new SubVoice();}}
客户端的实现方式如下:
IFactory operFactory=new AddVoiceFactory();FunctionChoiceoper=operFactory.createFunctionChoice();oper.GetResult();
2、简单工厂 VS工厂方法
前面已经提到了什么是简单工厂模式,在这不做过多介绍,就针对其中一点简要说明一下:简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端选择的选择条件动态实例化相关的类,对客户端来说,去除了与具体产品的依赖,与此同时也会带来一些问题。还以前面的简单工厂模式的例子为例:假如说电视机要增加上下换台的功能,不仅要增加这个功能的子类,而且还要修改TV类中的‘Case’分支条件,这样既对外进行了功能的扩展且对内部代码也进行了修改,因此违背了开放--封闭原则。
与之相比,工厂方法模式即克服了简单工厂违背开放--封闭原则的缺点,又保持了封装对象创建过程的优点。所以工厂方法模式更优越一点。
3 0
- 简单工厂VS工厂方法
- 简单工厂VS工厂方法
- 简单工厂 VS 工厂方法
- 简单工厂VS工厂方法
- 简单工厂 vs 工厂方法
- 简单工厂VS工厂方法
- 简单工厂 VS 工厂方法 VS 抽象工厂
- 简单工厂VS工厂方法VS抽象工厂
- 简单工厂VS工厂方法VS抽象工厂
- 简单工厂模式 VS 工厂方法模式
- 简单工厂模式vs工厂方法模式
- 工厂方法模式VS简单工厂
- 简单工厂模式 VS 工厂方法模式
- 简单工厂模式VS工厂方法模式
- 简单工厂模式VS工厂方法模式
- 【设计模式】简单工厂VS工厂方法
- 【设计模式】简单工厂VS工厂方法
- 工厂方法模式VS简单工厂模式
- Android位置策略
- 《程序员2013精华本》
- 嵌入式 C语言实现进度条以及实现带进度条的CP命令等编程示例收集二
- iOS 如何选择delegate、notification、KVO?
- javascript 清除字符串空格
- 简单工厂 VS 工厂方法
- UFLFL Exercise:Self-Taught Learning
- mysql : Lock wait timeout exceeded; try restarting transaction
- 九度OJ 1025 最大报销额(0-1背包)
- SQL中date、datetime和timestamp的区别
- 网络风险评估笔记
- 验证码识别技术
- HTML 清除缓存代码设置
- visual assist 工具条不见了