java中的设计模式(二)--工厂方法模式 反射机制
2011-10-17 13:50
393 查看
上一次提到了工厂方法模式,经过查阅相关资料,发现可以有改进之处:
改进1.工厂方法
package com.sf.hf; import com.sf.entity.Apple; import com.sf.entity.Banana; import com.sf.jk.Fruit; public class FruitFactory { public class FruitFactory { public static Fruit createFruit(Class c){ //定义一个水果对象 Fruit fruit = null; try { fruit = (Fruit) Class.forName(c.getName()).newInstance(); } catch (Exception e) { System.out.println("创建出错"); } return fruit; } } }
改进2.客户端调用
import com.sf.entity.Apple; import com.sf.entity.Banana; import com.sf.hf.FruitFactory; import com.sf.jk.Fruit; public class Test { public static void main(String[] args) { System.out.println("---------创建苹果---------"); Fruit apple = FruitFactory.createFruit(Apple.class); apple.eat(); apple.plant(); System.out.println("---------创建香蕉---------"); Fruit banana = FruitFactory.createFruit(Banana.class); banana.eat(); banana.plant(); } }
运行结果:
---------创建苹果--------- 生产水果 苹果可以吃 苹果可以种 ---------创建香蕉--------- 生产香蕉 香蕉可以吃 香蕉可以种
上一次提到的工厂方法是将工厂抽象成一个方法,具体生产产品的方法教给其子类或者实现该接口的子类,
这里用了反射机制省去了具体的工厂实现类,当需要扩展产品的时候,只要传入不同的产品类即可。
客户端调用的时候只需要将产品类传入即可,如 Apple.class
相关文章推荐
- java中的设计模式(二)--工厂方法模式 反射机制
- 15. JAVA 反射机制 Part 2(动态代理、类的生命周期、工厂设计模式) ----- 学习笔记
- [零基础学JAVA]Java SE应用部分-36.反射机制与工厂设计模式 推荐
- java通过反射机制实现工厂设计模式
- java中的反射三(反射机制深入---工厂设计模式)
- java中的设计模式(三)--抽象工厂模式 反射机制
- Java设计模式(二) 工厂方法模式
- 走穿java23种设计模式-2工厂方法模式详解
- Java设计模式(三):工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)
- java设计模式之工厂方法模式
- JAVA设计模式--工厂方法模式
- java事件监听机制(观察者设计模式的实际运用)
- java设计模式:工厂方法模式
- java设计模式之------工厂方法模式
- java 设计模式 学习笔记 (2) - 工厂方法模式
- 设计模式之第1章-工厂方法模式(Java实现)
- 设计模式之用反射机制改进的抽象工厂
- Java设计模式——工厂方法模式
- java设计模式---Factory Method Pattern---工厂方法模式
- Java设计模式(一) 设计模式初探——简单工厂和工厂方法模式