-
工厂模式: 1.接口:HairInterface 2.实现类:LeftHair、RightHair、InHair 3.工厂类:HairFactory 4.映射:type.properties 5.映射读取类:PropertiesReader 4.测试入口类:Test --------------------------- 1.properties文件写映射关系,如:left=com.XXX(包名).LeftHair 2.PropertiesReader类读取properties文件 public Map<String, String> getProperties() { Properties props = new Properties(); Map<String, String> map = new HashMap<String, String>(); try { InputStream in = getClass().getResourceAsStream("type.properties"); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); String property = props.getProperty(key); map.put(key, property); } } catch (Exception e) { e.printStackTrace(); } return map; } 3.工厂类HairFactory核心内容(需要异常处理): Map<String, String> map = new PropertiesReader().getProperties(); //key为传入参数,如:left、right、in //这里实际是通过类名去调用方法 HairInterface hair = (HairInterface) Class.forName(map.get(key)).newInstance(); return hair;查看全部
-
工厂模式的动机: 基于项目现状将代码进行如下设计: 1.尽量松耦合,一个对象的依赖队形的变化与本身无关 2.具体产品与客户端剥离,责任分割。查看全部
-
设计模式:是一套被反复使用,多数人知晓的,经过分类编目的,代码设计经验的总结 好处:可以提高代码的重用性,让代码更容易被他人理解,保证代码的可靠性 工厂模式: 实例化对象,用工厂方法代替new操作 工厂模式包括工厂方法模式和抽象工厂模式 抽象工厂模式是工厂方法模式的扩展。 工厂模式的意图:定义一个接口来创建对象,但是让子类来决定哪些类需要被实例化。 工厂方法把实例化的工作推迟到子类中去实现。 适合工厂模式的情况: (1)有一组类似的对象需要创建。 (2)在编码的时候不能预见需要创建哪种类的实例。 (3)系统需要考虑扩展性,不应依赖于产品类实例化如何被创建,组合和表达的细节。 设计: (1)尽量松耦合,(2)具体产品与客户端剥离查看全部
-
抽象工厂模式类图查看全部
-
工厂方法模式类图查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
-
工厂模式的内容查看全部
举报
0/150
提交
取消