vjame

优化代码是无止境的
随笔 - 65, 文章 - 9, 评论 - 26, 引用 - 0
数据加载中……

代理模式之动态代理

动态代理

自从JDK的版本到1.3以后,java语言通过java.lang.reflect库中,提供了三个类来直接支持代理模式。
分别是:Proxy,InvocoationHandler和Method。

Proxy类使得设计师能够在运行时间创建代理对象
当系统有了一个代理对象后,对源对象的方法调用会首先被分派给一个调用处理器(InvocationHandler)//接口
InvocationHandler接口中有一个invoke()方法
程序可以在调用处理器的invoke方法中截获这个调用,进行额外的操作

创建动态代理对象的步骤:
1.指明一系列的接口来创建一个代理对象
2.创建一个调用处理器(InvocationHandler)对象
3.将这个代理指定为某个其他对象的代理对象
4.在调用处理器的invoke方法中采取代理,一方面将调用传递给真实对象,另一方面执行各种需要做的操作。

电脑代理商
抽象主题角色:SaleComputer
真实主题角色:ComputerMaker
代理主题角色:ComputerProxy
Java动态代理的过程:ProxyFunction(我们定义的一个类,由这个类来具体的完成代理过程)

源代码 http://www.blogjava.net/Files/vjame/ProxyDemo02.rar

posted on 2008-10-29 18:54 lanjh 阅读(190) 评论(0)  编辑  收藏 所属分类: 设计模式


只有注册用户登录后才能发表评论。


网站导航: