黑马程序员技术交流社区

标题: 关于代理类 [打印本页]

作者: littlefoxtail    时间: 2013-5-30 17:24
标题: 关于代理类
本帖最后由 littlefoxtail 于 2013-5-31 11:49 编辑

代理类到底实现怎么样一个作用呢?在工厂模式和配置文件是怎么一个回事!求大神解惑

作者: 逸盏清茶    时间: 2013-5-30 18:36
编写一个与目标类具有相同接口的代理类,代理类的每个方法调用目标类的相同方法,并在调用方法时加上系统功能的代码,就是代理模式。
代理类的构造函数接收的是invocationhandler的子类或实现类对象,当你在调用代理类的某个方法时,其实就是在调用invocationhandler子类对象身上的invoke方法,invoke方法内部又会去调用目标类的相同的方法,只是在调用目标类的方法前和后可以加上其他的功能。这样就可以实现在调用代理方法时其实就是在调用目标类的方法。
如果将invocationhandler实现类中的目标类和添加的其他功能抽取出去,对外提供一个接口,就可以做成一个框架。后期出现的类只要实现了这个接口,就可以对这个类进行代理。在配置文件中可以配置目标类也可以配置代理类,很容易切换

作者: 殇_心。    时间: 2013-5-31 10:20
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2