概念理解
-
定义:又称为静态工厂方法(Static Factory Method)模式,可以根据参数的不同返回不同类的实例。
SimpleFactory.png
如上图:
Factory 负责根据不同入参,创建不同的实例化对象
Product 产品类的抽象类或者接口,方便产品的扩展
ConcreteProduct 具体扩展的产品类
应用和优缺点
-
解决问题:对继承同一个抽象基类或者接口的产品类的实例化过程进行封装。
-
应用实例:
- 1、JDK类库中广泛使用了简单工厂模式,如工具类java.text.DateFormat,它用于格式化一个本地日期或者时间。
public final static DateFormat getDateInstance(int style);
- 2、Java加密技术,获取不同加密算法的密钥生成器
KeyGenerator keyGen=KeyGenerator.getInstance("DESede");
- 1、JDK类库中广泛使用了简单工厂模式,如工具类java.text.DateFormat,它用于格式化一个本地日期或者时间。
-
优点:
对类的实例化过程的统一封装,提高代码可复用性,降低系统耦合度。
可以将传入的参数进行写入文件,动态的配置类的创建过程。 -
缺点:优点即是缺点,类实例化全部集中于一个类方法中,扩展变的不容易,也不符合开闭原则。
网友评论