首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

署理模式(Proxy)笔记

2012-06-26 
代理模式(Proxy)笔记????? 我对代理模式的理解就是,对于类中的方法进行拦截的一种方式,Spring的AOP就是靠

代理模式(Proxy)笔记

????? 我对代理模式的理解就是,对于类中的方法进行拦截的一种方式,Spring的AOP就是靠这个模式玩的。

????? 下面纪录一个例子,对ArrayList代理,要求是对于ArrayList的add方法进行处理,在add执行前,打印一个信息,add执行后,打印add的元素的内容,最后打印add完成的信息.

????? 定义一个ArrayListProxy的代理类, 引用一个ArrayList的实例, 然后利用这个实例去复写ArrayList所有的方法,对其中的add方法做一些处理.

????? 这样以后直接用ArrayListProxy这个类,他的add方法就可以自动获得新的处理,而其他方法不变,通过这样的方式,把原来的ArrayList给代理了.

?执行代码:

通过这种方式要代理一个类,必须继承InvocationHandler接口.并实现invoke方法,通过该方法的3个参数,可以对这个类里的任何方法进行拦截处理.

Before Proxy arrayList!add element:java.awt.Label[label0,0,0,0x0,invalid,align=left,text=]After Proxy arrayList!Before Proxy arrayList!add element:bAfter Proxy arrayList!Before Proxy arrayList!add element:cAfter Proxy arrayList!Before Proxy arrayList!add element:dAfter Proxy arrayList!Before Proxy arrayList!add element:eAfter Proxy arrayList!Before Proxy arrayList!add element:java.awt.Label[label1,0,0,0x0,invalid,align=left,text=]After Proxy arrayList!Before Proxy arrayList!add element:java.awt.Label[label2,0,0,0x0,invalid,align=left,text=]After Proxy arrayList!
?

?

热点排行