java设计模式学习笔记--可配置的简单工厂模式
来源:互联网 发布:三体结局 知乎 编辑:程序博客网 时间:2024/05/29 13:41
提出问题
试想在简单工厂模式中如果添加实现类到现有的系统中,那么就需要修该工厂类,因为修改方式很简单,在这里就不举例了。如果每次都这样做,也太那个啥了。。。
解决问题
在这里有一种解决方案就是使用配置文件,当有了新的实现类后,只要在配置文件里配置上新的实现类就好了。可以利用反射或者Ioc/DI(控制反转/依赖注入)来实现。
工厂实现如下:
public class Factory2{ public static People CreatePeople() { Properties pro = new Properties(); People people = null; InputStream ins; ins = Factory2.class.getResourceAsStream("factory.properties"); try { pro.load(ins); } catch (IOException e1) { e1.printStackTrace(); } String implClassStr = pro.get("implClass").toString(); try { Class cla = Class.forName(implClassStr); people = (People) cla.newInstance(); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { e.printStackTrace(); } return people; }}
其它的实现类和接口读者可以参考上篇文章。
=======================================
<以上类容均来自于《研磨设计模式》, author:陈臣 & 王斌>
0 0
- java设计模式学习笔记--可配置的简单工厂模式
- java 设计模式 学习笔记(1) - 简单工厂模式
- java设计模式学习笔记-简单工厂模式
- java设计模式学习笔记--简单工厂模式
- Java学习笔记---设计模式之简单工厂模式
- java设计模式学习笔记--简单工厂模式
- 设计模式学习笔记(Java篇)之简单工厂模式
- 【设计模式】简单工厂模式学习笔记
- 设计模式学习笔记--简单工厂模式
- 设计模式学习笔记--简单工厂模式
- 设计模式学习笔记-简单工厂模式
- java设计模式学习笔记-工厂模式
- java设计模式-工厂模式学习笔记
- 设计模式学习笔记二-(简单工厂)
- 学习设计模式笔记--简单工厂
- java设计模式笔记之简单工厂
- 设计模式学习笔记——简单工厂模式、工厂方法模式、抽象工厂模式
- 设计模式-工厂模式 抽象工厂模式 简单工厂模式学习笔记
- 指针的初始化
- 字节对齐C++
- UILabel
- hdu1730Northcott Game nim
- vi中常用命令
- java设计模式学习笔记--可配置的简单工厂模式
- 1002--并发
- 动起来
- Camera
- SOAP-ERROR: Parsing WSDL: Couldn't load from * ,Premature end of data in tag definitions line 2
- Ubuntu 14.04 成功安装Xmind 6
- JAVA的第一篇博客,为什么这么激动!!!!
- java环境变量详解---找不到或无法加载主类
- mac install tomcat8