b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

工厂方法模式_工厂方法模式 java_工厂方法模式的好处(3)

电脑杂谈  发布时间:2017-01-18 23:59:51  来源:网络整理

29 singleton Singleton constructor.newInstance ; 30 catch Exception e 31 // 异常处理 32 33 34? 35????public static Singleton getSingleton 36 return singleton; 37 38 [代码] [Java]代码 01以下是上面经过修改后的代码,主要想达到的目标是:只要输入一个类型就可以获得唯一的一个实例。 02? 03? 04//抽象父类 05public abstract class Human 06????//公共方法 07????public void allshare 08? 09 10 11????//相同的方法,不同的实现 12????public abstract void doSomething ; 13 14? 15? 16//黄种人 17public class YellowHuman extends Human 18 19????//构造方法私有 20????private YellowHuman 21? 22 23? 24????public void doSomething 25 // 业务处理 26 27? 28 29? 30//白种人 31public class WhiteHuman extends Human 32 33????//构造方法私有 34????private WhiteHuman 35? 36 37? 38????public void doSomething 39 // 业务处理 40 41? 42 43? 44? 45import java.lang.reflect.Constructor; 46import java.util.HashMap; 47import java.util.Map; 48? 49//负责生成单例的工厂类 50public class Factory 51????// 定义一个Map用于保存第一次创建对象时的实例 52????private static final Map String, Object objectMap new HashMap String, Object ; 53? 54????public synchronized static T createHuman Class c 55 Human human null; 56 String className null; 57 className c.getName ; 58 try 59 if !objectMap.containsKey className 60 Class class1 Class.forName className ; 61 // 获得无参构造 62 Constructor constructor class1.getDeclaredConstructor ; 63 // 设置无参构造是可访问的 64 constructor.setAccessible true ; 65 // 产生一个实例对象。工厂方法模式

工厂方法模式的好处_工厂方法模式 java_工厂方法模式

66 human Human constructor.newInstance ; 67 objectMap.put className, human ; 68 69 catch Exception e 70 e.printStackTrace ; 71 72 return T objectMap.get className ; 73 74 75? 76? 77//测试 78public class Test 79? 80????public static void main String[] args 81 Human whiteHuman1 Factory.createHuman WhiteHuman.class ; 82 System.out.println whiteHuman1 ; 83 Human whiteHuman2 Factory.createHuman WhiteHuman.class ; 84 System.out.println whiteHuman2 ; 85 86 Human YellowHuman1 Factory.createHuman YellowHuman.class ; 87 System.out.println YellowHuman1 ; 88 Human YellowHuman2 Factory.createHuman YellowHuman.class ; 89 System.out.println YellowHuman2 ; 90 91 92? 93结果: 98? 99两次都生成了同一个实例.. * 第3章 工厂方法模式 Factory Method (多态性工厂(Polymorphic Factory)模式) 简单工厂模式回顾 简单工厂:根据传入的参数,决定创建哪一个产品类对象 所有具体产品对象的创建都放在一个类中,一旦增加新的产品,工厂类都要被修改 简单工厂模式违背单一职责和开放-关闭原则 解决思路 变化点在“对象创建” 根据“封装变化点”,可以对简单工厂中的工厂类做了一个封装(对象创建封装)使其满足单一职责和开-闭原则 工厂方法模式 建立一个抽象工厂的基类,给每个产品建立一个工厂,该工厂继承抽象工厂,规定每个产品都有特定的工厂来创建 工厂和产品是平行的继承层次结构 工厂方法 - 规模扩大,更 每一种产品都有专门的大师傅制作有面包师,面条师,米饭师 工厂方法模式 工厂方法类UML图 工厂方法类图 抽象工厂接口 Creator 工厂方法模式的核心,它与应用程序无关。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27237-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...