工厂模式

Posted Dev_Nick

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式相关的知识,希望对你有一定的参考价值。

工厂设计模式就是用于产生对象的。

该模式将创建对象的过程放在了一个静态方法中来实现.在实际编程中,如果需要大量的创建对象,该模式是比较理想的。

利用配置文件来动态产生对象

配置文件格式:

代码示例:

 1 //需求: 编写一个工厂方法根据配置文件返回对应的对象。
 2     public static Object getInstance() throws Exception{
 3         //读取配置文件
 4         BufferedReader bufferedReader = new BufferedReader(new FileReader("info.txt"));
 5         //读取第一行 : 读取类文件的信息
 6         String className = bufferedReader.readLine();
 7         //通过完整类名获取对应 的Class对象
 8         Class clazz = Class.forName(className);
 9         //获取到对应的构造方法
10         Constructor constructor = clazz.getDeclaredConstructor(null);
11         constructor.setAccessible(true);
12         Object o  = constructor.newInstance(null);
13         //给对象设置对应的属性值
14         String line = null;
15         while((line = bufferedReader.readLine())!=null){
16             String[] datas = line.split("=");
17             Field field =clazz.getDeclaredField(datas[0]);
18             //设置可以访问
19             field.setAccessible(true);
20             if(field.getType()==int.class){
21                 field.set(o, Integer.parseInt(datas[1]));
22             }else{
23                 field.set(o, datas[1]);
24             }
25         }
26         return o;
27         
28     }

 

以上是关于工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式-简单工厂工厂方法模式抽象工厂模式详解

C++工厂模式(简单工厂工厂方法抽象工厂)