定程度上提高了灵活性。
2.客户端无需知道创建的具体产品类的类名,有助于对复杂类名减少记忆量。
3.对代码有明显的分工,工厂类负责制造产品类的实例,客户端负责使用该类。
简单工厂模式缺点
1.所有类都集中在工厂类中利用逻辑判断生成,所以该类会影响整个系统。
2.简单工厂模式将会增加系统中类的个数,增加了系统的复杂度和理解难度。
3.拓展相对困难,一旦新加产品就必须修改工厂类的逻辑,在产品类型较多时会造成工厂类的代码过于复杂。
4.工厂类由于使用的是静态工厂方法,导致工厂角色无法形成基于继承的等级结构。
简单工厂模式应用
1.JDK类库中的java.text.DateFormat,用于格式化一个本地日期
public final static DateFormat getDateInstance();
public final static DateFormat getDateInstance(int style);
public final static DateFormat getDateInstance(int style,Locale locale);
2.DESEncrypt.java中获取加密的密钥生成器等
KeyGenerator keyGen=KeyGenerator.getInstance("DESede");
样例代码访问地址:https://github.com/mynawang/Design-Pattern-Learning/tree/master/src/main/java/com/sedion/mynawang/Chapter01_SimpleFactoryPattern
博主自白
本人20有余,天资愚钝,深信勤能补拙。酷爱编程,爱钻研,广交码友,耕于三线,日以继夜而使飞燕之身蜕变为大腹便便。
有志之士点击链接加入技术交流群【专注的程序猿】282087535
文章如果对你有所帮助是我的荣幸,不妥之处希望指正,转帖请注明本文出自钰火的小栈(http://www.mynawang.com/),请尊重他人的辛勤劳动成果,谢谢!