首页 > 其他 > 详细

关于代理模式初解

时间:2015-03-22 20:52:10      阅读:241      评论:0      收藏:0      [点我收藏+]

代理模式:可以从字面上理解,比如说dell电脑的代理商

厂家可以直销,但是也允许代理商进行销售

那么我们就可以这么定义了

首先,我们定义一个最基本的制造者,也就是厂家,这里我们提供接口,让厂家跟代理商分别去实现,代理商的实现可以通过初始化厂家的方法

同时代理机构也继承了厂家的方法

而同时代理商还可以自己添加附加的方法,比如说优惠政策

这样的好处就是保证了源码(厂家),同时还可以有延展性

 

而关于动态代理模式就是使用了java内部的java.lang.reflect.Proxy包,可以看得出来是使用了反射中的包

这时候我么就不需要自己再去继承或者实现接口了,直接用Proxy、InvocationHandler跟Method

Proxy类使得程序员在运行时间创建代理对象,它是用来创建动态代理类和实例的静态方法。

系统有代理对象后,源对象的方法调用会首先被分派给一个InvocationHandler(这是个接口),这个接口有个invoke()方法,就是在这个方法中进行代理方法的其他操作

前两个参数是要获得被代理对象的class的getClassLoader()跟getInstance()方法

 

 

 

创建动态代理对象的步骤:

 

1、指明一系列的接口来创建一个代理对象

2、创建InvocationHandler对象,这是个接口,要用来继承实现

3、指定该代理为某个其他对象的代理对象

4、调用invoke方法进行代理,一是传递给真是对象调用,二是执行各种需要的操作

关于代理模式初解

原文:http://www.cnblogs.com/kevinfuture/p/4357881.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!