打字猴:1.700448001e+09
1700448001 编写高质量代码:改善Java程序的151个建议 [:1700438179]
1700448002 编写高质量代码:改善Java程序的151个建议 建议106:动态代理可以使代理模式更加灵活
1700448003
1700448004 Java的反射框架提供了动态代理(Dynamic Proxy)机制,允许在运行期对目标类生成代理,避免重复开发。我们知道一个静态代理是通过代理主题角色(Proxy)和具体主题角色(Real Subject)共同实现抽象主题角色(Subject)的逻辑的,只是代理主题角色把相关的执行逻辑委托给了具体主题角色而已,一个简单的静态代理如下所示:
1700448005
1700448006 //抽象主题角色
1700448007
1700448008 interface Subject{
1700448009
1700448010 //定义一个方法
1700448011
1700448012 public void request();
1700448013
1700448014 }
1700448015
1700448016 //具体主题角色
1700448017
1700448018 class RealSubject implements Subject{
1700448019
1700448020 //实现方法
1700448021
1700448022 public void request(){
1700448023
1700448024 //业务逻辑处理
1700448025
1700448026 }
1700448027
1700448028 }
1700448029
1700448030 //代理主题角色
1700448031
1700448032 class Proxy implements Subject{
1700448033
1700448034 //要代理哪个实现类
1700448035
1700448036 private Subject subject=null;
1700448037
1700448038 //默认被代理者
1700448039
1700448040 public Proxy(){
1700448041
1700448042 subject=new RealSubject();
1700448043
1700448044 }
1700448045
1700448046 //通过构造函数传递被代理者
1700448047
1700448048 public Proxy(Subject_subject){
1700448049
1700448050 subject=_subject;
[ 上一页 ]  [ :1.700448001e+09 ]  [ 下一页 ]