工厂方法模式--结合具体例子学习工厂方法模式
来源:互联网 发布:mysql上一篇查询 编辑:程序博客网 时间:2024/05/17 00:44
在学习工厂方法模式之前,可以先学习一下简单工厂模式,网址是http://blog.csdn.net/u012116457/article/details/21650421,这里仍以水果的实例讲解。
先来说说简单工厂模式的特点,简单工厂模式将具体类的创建交给了工厂,使客户端不再直接依赖于产品,但是其违背了OCP原则,当对系统进行扩展时,仍然需要去修改原有的工厂类的代码。
而工厂方法模式则解决了这一问题,在工厂方法模式中,核心工厂类不再负责产品的创建,而把其延迟到其子类当中,核心工厂类仅仅为其子类提供必要的接口。
现在,结合下面的例子具体的理解一下工厂方法模式:
interface Fruit{public String tell();}interface Factory{public Fruit getFruit();} //苹果类class Apple implements Fruit{public String tell(){return "我是苹果";}}//香蕉类class Banana implements Fruit{public String tell(){return "我是香蕉";}} class AppleFactory implements Factory{public Fruit getFruit(){return new Apple();}}class BananaFactory implements Factory{public Fruit getFruit(){return new Banana();}}public class Store {public static void main(String[] args) { Fruit f= null; Factory factory = null; factory=new AppleFactory(); f= factory.getFruit(); System.out.println( f.tell()); factory=new BananaFactory(); f=factory.getFruit(); System.out.println( f.tell());}}
定义一个工厂接口,让具体的工厂类去实现它,从代码中不难看出,当对代码进行扩展时,比如要加入一个Grape类,只需要定义一个Grape类,并定义一个Grape的工厂类GrapeFactory去继承工厂接口即可,而不必对原有的代码进行修改,完全符合OCP原则
0 0
- 工厂方法模式--结合具体例子学习工厂方法模式
- 工厂方法模式(例子)
- 工厂方法模式解析例子
- 工厂方法模式的例子
- 工厂模式 -- 工厂方法
- 工厂模式-工厂方法
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式-工厂方法模式
- 工厂模式---工厂方法模式
- 工厂模式(与反射方法结合)
- 【模式】工厂方法模式
- 工厂方法模式学习博客
- 工厂方法模式--学习笔记
- 设计模式学习--工厂方法
- java学习之工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 结合实例分析简单工厂模式&工厂方法模式&抽象工厂模式的区别
- S3C6410 NAND启动流程
- HDU 2046 骨牌铺方格
- 手游公司日记(1)
- Oracle 监听命令配置,虚拟宿主机访问的问题
- Storm DRPC环境搭建笔记
- 工厂方法模式--结合具体例子学习工厂方法模式
- 高斯日记
- 今日听完下一个七年该怎样度过后的感想
- Leetcode_linked-list-cycle-ii
- 微信公共平台开发接口(一)
- Servlet中Num和Date的国际化
- oracle 的to_char、to_number、to_date用法
- 搭建网络svn实战
- java学习视频