一个类负责添加移除 执行方法:::
另一个类,当你操作的时候,首先添加到被观察者的行列中,一旦发生变化,调用方法,改变。。
代理模式:在java中:反射机制:很多
struts2:代理模式也很多。spring也是以代理模式的框架
servlet:包装模式:
工厂模式 单例模式 以及观察者模式::
代理模式::一般自己不用自己的对象去操作,而是让我的代理对象去做任务。。
代理有动态代理;(有JDK自带生成动态代理以及cglib动态代理模式)
所以,借助于JVM的支持,可以在运行时动态生成代理类(“代理角色”),我们就可以解决上述代理模式中代码膨胀的问题,使用了动态代理后,“代理角色”将不用手动生成,而由JVM在运行时,通过指定类加载器、接口数组、调用处理程序这3个参数来动态生成。
由DBHandle总结:
1思路:
第一步创建好自己的接口行为
第二步:实现自己接口的类::
第三步:创建一个提供访问接口的一个creator制造者类。
(1)在制造者当中你可以先实现一个观察者接口,此接口用来初始化操作。
(2)利用工厂单例模式制造对象(只能有一个对象),对象开始执行构造方法
在构造方法中完成初始化操作以及将这个被观察者的对象添加到观察者的行列中。
到时候可以调用观察者类去进行操作。
(3)提供一个得到接口的方法,根据初始化的操作,反射操作map得到放在map中的
全类名,根据反射创建实体类的实现对象。此时获得了接口的实现对象。
第四步:写测试类:
new creator类=====调用工厂单例模式创建对象,获取接口具体实现类,调用接口实例化中的方法。