设计模式--浅谈工厂方法模式
来源:互联网 发布:灰原哀毛利兰人气知乎 编辑:程序博客网 时间:2024/06/05 20:55
工厂方法模式的优缺点和使用环境:
1.优点:(1)在工厂模式中,工厂方法用来创建客户所需要的产品,同时还向客户隐藏了那种具体产品将被实例化这一细节,用户只需要关心所需产品对应的工厂即可,无需关心创建细节,甚至无需知道具体产品类的类名。
(2)基于工厂角色和产品角色的多态性设计是工厂方法模式的关键,它能让工厂自主确定创建何种产品对象,而如何创建这个对象的细节则完全封装在具体工厂内部。工厂方法模式之所以被称为多态工厂模式,就是因为所有的具体工厂类都具有同一抽象父类。
(3)在系统中加入新的产品时,无需修改抽象工厂和抽象产品提供的接口,无需修改客户端,也无需修改其他的具体工厂和具体产品,主要添加一个具体工厂和具体产品即可,这样,系统的可扩展性非常好,完全符合开闭原则。
2.缺点:(1)添加新产品时,需要编写新的具体产品类,而且要提供与之对应的具体工厂类,系统中类的个数将成对增加,在一定程度上增加了系统的复杂度,,有更多的类需要编译和运行,会给系统带来一些额外的开销。
(2)考虑到系统的可扩展性,需要引入抽象层,在客户端代码中均使用抽象层进行定义,增加了系统的抽象性和理解难度。
3.使用环境:(1)客户端不知道它所需要的对象的类,在工厂方法模式中,客户端不需要知道具体产品类的类名,只需要知道所对应的工厂即可,具体产品对象由具体工厂类创建,可将具体工厂类的类名存储在配置文件或数据库中。
(2)抽象工厂类通过其子类来指定要创建哪个对象,在工厂方法模式中,对于抽象工厂类只需要提供一个创建产品的接口,而由其子类确定具体要创建的对象,利用面向对象的多态性和里氏替换原则,在程序运行时,子类对象将覆盖父类对象,从而使系统更容易扩展。
- 设计模式--浅谈工厂方法模式
- 浅谈设计模式之工厂方法模式
- 浅谈工厂设计模式
- 浅谈设计模式——工厂方法模式
- 浅谈DAO工厂设计模式
- 浅谈DAO工厂设计模式
- 浅谈简单工厂模式、工厂方法模式、抽象工厂模式
- Java-设计模式-工厂模式浅谈(二)-工厂方法模式
- 设计模式--工厂方法
- 工厂方法设计模式
- 设计模式-工厂方法
- 【设计模式】【工厂方法】
- 设计模式 - 工厂方法
- 工厂方法设计模式
- 工厂方法设计模式
- 【设计模式】工厂方法
- 设计模式--工厂方法
- 设计模式---工厂方法
- FaceRecognizer
- 面试题总结4
- openstack nova 基础知识——policy【转载】
- 【无中生有】---11---服务器集群部署
- PHP100-6 编写一个函数解析多重嵌套数组的所有元素
- 设计模式--浅谈工厂方法模式
- JAR命令使用
- win7删除无效的Ubuntu选项
- Activity的生命周期
- 黑马程序员_内部类的总结
- Struts2 奇怪的老是调用index方法
- linux shell脚本攻略 学习笔记1 -- 第一章 小试牛刀
- oracle面试题及其答案
- Myeclipse下的Struts 2 + Hibernate 的注册登录系统