《大话设计模式》之工厂方法模式
来源:互联网 发布:淘宝手机端链接生成器 编辑:程序博客网 时间:2024/06/10 01:22
一,定义
定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
将类的实例化(具体产品的创建)延迟到工厂类的子类(具体工厂)中完成,即由子类来决定应该实例化(创建)哪一个类。
二,实现
定义工厂方法所创建的对象的接口public interface Operation { public double GetResult(double NumberA,double NumberB);}
public class OperationAdd implements Operation{ @Override public double GetResult(double NumberA, double NumberB) { System.out.println("OperationAdd"); return NumberA+NumberB; }}
public class OperationSub implements Operation { @Override public double GetResult(double NumberA, double NumberB) { System.out.println("OperationSub"); return NumberA-NumberB; }}
public interface IFactory { Operation CreatOperation();}
public class AddFactory implements IFactory { @Override public Operation CreatOperation() { return new OperationAdd(); }}
public class SubFactory implements IFactory { @Override public Operation CreatOperation() { return new OperationSub(); }}
public class Client { public static void main(String[] args) { IFactory operFactory=new AddFactory(); Operation oper=operFactory.CreatOperation(); double d=oper.GetResult(10, 20); System.out.println(d); }}
三 总结
解决使用 简单工厂模式 时,工厂一旦需要生产新产品就需要修改工厂类的方法逻辑,违背了“开放 - 关闭原则”
阅读全文
0 0
- 大话设计模式之工厂方法模式
- 大话设计模式之工厂方法模式
- 《大话设计模式》之工厂方法模式
- 大话设计模式之工厂方法
- 大话设计模式读书笔记之工厂方法
- 大话设计模式 工厂方法
- 大话设计模式之简单工厂模式、抽象工厂模式及工厂方法模式的比较
- 大话设计模式之简单工厂模式&工厂方法模式&抽象工厂模式
- 大话设计模式之简单工厂模式、抽象工厂模式及工厂方法模式的比较
- java设计模式大话之工厂方法模式
- 《大话设计模式》java实现之工厂方法模式
- 大话设计模式笔记----工厂方法模式
- 大话设计模式_工厂方法模式
- 大话设计模式--工厂方法模式
- 《大话设计模式》-- 7.工厂方法模式
- 大话设计模式 工厂方法模式
- 大话设计模式-工厂方法模式
- 大话设计模式-工厂方法模式
- 成员内部类
- 几种方法来实现scp拷贝时无需输入密码
- 在控制器调用模型及在视图输出
- 织梦DedeCMS图集上传图片出现FILEID:X报错终极解决方法
- 矩阵的最小路径和
- 《大话设计模式》之工厂方法模式
- PHP CURL模拟提交数据 攻击N次方
- EasyPlayerPro 功能简介
- 局部内部类
- idea使用jrebel支持热部署
- 安卓设计模式の组合模式
- springcloud入门之熔断器hystrix
- Web安全加固小结
- css盒模型(IE和标准)