【设计模式】简单工厂VS工厂方法
来源:互联网 发布:淘宝网客服电话400 编辑:程序博客网 时间:2024/06/05 06:39
【简单工厂】
简单工厂,就是用一个单独的类来创造实例的过程。
简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端和选择条件实例化相关的类,对于客户端来说,去除了与具体产品的依赖。
//运算简单工厂类 public class OperationFactory { 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; } }
【工厂方法】
工厂方法是定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类中。
工厂方法是把简单工厂的内部逻辑判断移到客户端代码执行,增加功能是,就不用修改工厂类,而是直接修改客户端就可以了。
//工厂接口 interface IFactory { Operation CreateOperation(); } //加法类工厂 class AddFactory:IFactory { public Operation CreateOperation() { return new OperationAdd(); } } //减法类工厂 class SubFactory:IFactory { public Operation CreateOperation() { return new OperationSub(); } } //乘法类工厂 class MulFactory : IFactory { public Operation CreateOperation() { return new OperationMul(); } } //除法类工厂 class DivFactory : IFactory { public Operation CreateOperation() { return new OperationDiv(); } }
【VS】
简单工厂和工厂方法都是集中封装了对象的创建,使得更换对象时,不需要做太大的改动,降低了客户端和产品对象之间的耦合。
工厂方法克服了简单工厂违背开放——封闭原则的缺点,又保持了封装对象创建过程的优点。工厂方法是简单工厂的进一步抽象和推广。
0 0
- 【设计模式】简单工厂VS工厂方法
- 【设计模式】简单工厂VS工厂方法
- 大话设计模式____简单工厂VS工厂方法
- 简单工厂模式 VS 工厂方法模式
- 简单工厂模式vs工厂方法模式
- 简单工厂模式 VS 工厂方法模式
- 简单工厂模式VS工厂方法模式
- 简单工厂模式VS工厂方法模式
- 工厂方法模式VS简单工厂模式
- 工厂方法模式 VS 简单工厂模式
- 简单工厂模式VS工厂方法模式
- 工厂方法模式VS简单工厂
- 设计模式-工厂模式(简单工厂,工厂方法,抽象工厂)
- 设计模式-工厂模式(简单工厂模式+工厂方法模式)
- 设计模式--简单工厂-工厂方法
- 大话设计模式4 简单工厂模式VS工厂模式
- 设计模式第四站--简单工厂模式VS工厂方法模式
- 设计模式 - 工厂模式(简单,工厂方法,抽象工厂)
- java程序员从笨鸟到菜鸟之(七)一—java数据库操作
- spring面试题 对DI , AOP概念的理解
- 日经社説 20150129 「痛み」を伴う年金改革から目をそらすな
- IOS中UserDefaults的用法(储存和调用设置信息)
- Divide Two Integers
- 【设计模式】简单工厂VS工厂方法
- Oracle修改密码,及修改密码后登录不了的问题
- Combination Sum --- LeetCode
- android编译笔记
- ARP报文格式
- Java锁与性能相关知识复习与整理
- 社説 20150129 教科書の慰安婦 誤解を招く表現は訂正したい
- attrs.xml文件中属性类型format值的格式
- 19. Remove Nth Node From End of List Leetcode Python