A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© littlefoxtail 中级黑马   /  2013-5-30 17:24  /  1162 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 littlefoxtail 于 2013-5-31 11:49 编辑

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

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

2 个回复

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

评分

参与人数 1技术分 +1 收起 理由
刘胜寒 + 1

查看全部评分

回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马