相关视频下载地址:链接:http://pan.baidu.com/s/1sjJTFyP 密码:sl81
Java爱好者交流群: 369508920 免费获取项目资源
? ? ? ? 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象
?
class="java" name="code">/* * 抽象工厂+反射: 解决了工厂方法的代码量过大问题, 而且新增对象也用修改客户端代码 * 一个抽象工厂就可以创建N种对象,主要采用的是反射机制,把对象的创建时间延迟到运行时 * */ public class AbstractFactory { public static Object getVehicle(String type) { // Class是Java的一个类型(File), Class它表示的是一个*.class文件 // Class.forname: 根据类全名,来查找唯一的*.class文件 try { Class clazz = Class.forName(type); // 获取了*.class文件后,可以创建一个对象 return clazz.newInstance(); } catch (Exception e) { throw new RuntimeException(); } } }
?
/** * @author 专注Java、Android 企业定制培训 * @添加QQ技术交流群: 369508920 可免费获取项目视频 * @Description: TODO(设计模式之工厂模式) * @Title: PatternDemo.java * @Package cn.it.pattern.demo01 */ public class PatternDemo { /* * 抽象工厂+反射: 解决了对象创建问题, 遵循了开发封闭原则 , 客户端不需要在判断 */ public static void main(String[] args) { // 面向接口编程 Vehicle vehicle = (Vehicle)AbstractFactory.getVehicle("cn.it.pattern.demo04.Jeep"); vehicle.run(); } }
?