java中的设计模式(二)--工厂方法模式 反射机制
来源:互联网 发布:资海网络集团招聘骗局 编辑:程序博客网 时间:2024/06/05 19:34
上一次提到了工厂方法模式,经过查阅相关资料,发现可以有改进之处:
改进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中的设计模式(二)--工厂方法模式 反射机制
- java中的设计模式(二)--工厂方法模式 反射机制
- java中的反射三(反射机制深入---工厂设计模式)
- java中的设计模式(三)--抽象工厂模式 反射机制
- Java反射机制 -工厂设计模式
- java反射机制-工厂设计模式
- 16---java反射机制06(工厂设计模式)
- java设计模式(二)---工厂方法模式
- Java设计模式之二(工厂方法模式)
- java设计模式学习笔记(二)--工厂方法模式
- Java设计模式(二) 工厂方法模式
- Java设计模式(二) 工厂方法模式
- Java设计模式(二):工厂方法模式
- Java设计模式(二) 工厂方法模式
- java中的设计模式(二)--工厂方法模式 接口回调
- 设计模式(二)---工厂方法模式
- 设计模式(二)工厂方法模式
- 设计模式(二)--工厂方法模式
- java中关于Stack的LIFO一段非常简单,非常典型的小代码
- 深入分析linux内核及其应用
- ABAP 使用HTTP_GET小例子(用来访问外部网站)
- VersionCode和VersionName相关
- 黑马程序员--java高新技术(一)
- java中的设计模式(二)--工厂方法模式 反射机制
- 《庖丁解牛-纵向切入ASP.NET 3.5控件和组件开发技术》
- 互联网电视行业成新热门
- 二十款漂亮CSS字体样式
- 哈夫曼树 Huffman tree 原理
- 在线播放mp3代码(dewplayer)
- Jdbc连接数据库
- java实现从实体到SQL语句的转换(二)
- 英文VS2010安装中文版MSDN文档方法