设计模式——工厂方法模式
来源:互联网 发布:大数据新手视频 编辑:程序博客网 时间:2024/04/26 12:24
工厂方法是工厂模式三种表现形式中的一种,另外两种是简单工厂和抽象工厂,三者的差异主要在于抽象程度的不同,实际上简单工厂和工厂方法很相似,差别只是简单工厂没有提供工厂接口。下面先给出工厂方法的示意图:
如图所示,工厂方法模式需要定义一个用于创建对象的接口,然后让子类决定实例化哪一个类,其一个显著的特征就是使一个类的实例化延迟到其子类。给出代码更容易理解:
public interface IFactory { public IProduct createProduct();}public interface IProduct { public void productMethod();}public class Product implements IProduct { @Override public void productMethod() { System.out.print("生产具体的产品"); }}public class Factory implements IFactory { @Override public IProduct createProduct() { return new Product(); } public static void main(String[] args) { IFactory factory = new Factory(); IProduct product = factory.createProduct(); product.productMethod(); }}
从代码可以清晰的看到具体的产品由具体的工厂类进行生产,且产品的细节对客户端来说是透明的,客户端只知道产品接口,也就是说当要生产另外一种产品或者原来产品生产方法需要修改时,将直接编写新的工厂类来生产新的产品或者在原来的工厂类上进行修改,而这一切客户端都不需要参与,调用接口方式与修改之前一致,这在一定程度上降低了耦合性和提高了程序的可扩展性。
工厂方法模式的缺点在于每次需要新的产品时就需要涉及新的对应的工厂类,也就是说类的数量是成对增长的,当系统量级大了之后这无疑将提升程序的复杂性。另外,由于客户端知道的都是比较抽象的工厂接口和产品接口,这会在某种程度上模糊程序的可理解性。
0 0
- 设计模式—工厂方法
- 设计模式—工厂方法
- 设计模式——抽象工厂模式、工厂方法模式
- Java设计模式—工厂方法模式&抽象工厂模式
- Java设计模式—工厂方法模式&抽象工厂模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- 设计模式——工厂方法模式
- installation failed with message faild to establish session
- Java利用动态代理模拟实现Spring的AOP(面向切面编程)功能的小实践
- Chrome开发者工具不完全指南(六、插件篇)
- Linux usb子系统(一) _写一个usb鼠标驱动
- 编程思想——程序设计
- 设计模式——工厂方法模式
- solrj的使用,环境准备,工程搭建,索引创建,添加\修改索引,删除索引,查询
- Spark RDD 实现电影点评用户行为分析 (Scala)
- 编写原生android应用
- Linux下MPI环境的安装配置及MPI程序的编译运行
- Site Mesh页面框架
- JavaEE 的EJB容器搭建的错误与解决方法
- 小五音乐
- LeetCode 2. Add Two Numbers