美文网首页JAVA设计模式
Java设计模式之二代理模式

Java设计模式之二代理模式

作者: 095b62ead3cd | 来源:发表于2019-06-26 14:45 被阅读0次

代理模式是指给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用(接口的引用)的结构模式。它的核心思想在于限制直接访问对象,而是通过代理对象访问目标对象,这样做的好处在于保护了目标对象,即使目标对象发生变化,也不会影响到访问者,因为访问者拿到的始终都是代理对象,这保证了目标对象的扩展性。另外,代理对象还可以起到拦截代理方法,改变原方法的参数和返回值以满足代理自身的需求

代理模式的角色分配:

目标对象:真正做事的人
代理对象:持有目标对象,具有和目标对象相同的做事能力
访问者:需要人做事的人

以下是示例:

经理跟助理说,找人把某件事做了,这里面的经理就是访问者,助理就是代理对象,助理找来做事的人就是目标对象。这里面,经理实际操作的是助理,而不是助理找的人,经理不直接操作助理找的人。代码实现:

首先定义一个接口,助理和目标对象所具有的共同的做事能力:

public interface DoSth{
      public void doSth(){
      }
}

定义目标对象,以及所具有的做事能力:

public class DesObj implements DoSth{
      public void doSth(){
      }
}

定义代理对象,持有目标对象,以及与目标对象相同的做事能力:

public class ProxyObj implements DoSth{
        DesObj desObj;
        public void doSth(DesObj desObj){
                this.desObj = desObj;
        }

         public void doSth(){
              this.desObj.doSth();
         }
}

定义访问者:

public class ManagerObj{
        DesObj desObj = new DesObj();
        ProxyObj obj = new ProxyObj();
        obj.doSth(desObj);
        obj.doSth();
}

相关文章

  • java动态代理(JDK和cglib)(转载自http://ww

    java动态代理(JDK和cglib) JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是...

  • java建造者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java单例模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java外观模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java适配器模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java观察者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java代理模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • java策略模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

  • Java代理模式之JDK动态代理

    了解什么是动态代理模式,可参考Java设计模式之代理模式 简介 JDK动态代理是java.lang.reflect...

  • 动态代理原理解析

    注:源自于Android 一、代理模式 代理模式是java23种设计模式常用的一种设计模式。代理模式是客户端不直接...

网友评论

    本文标题:Java设计模式之二代理模式

    本文链接:https://www.haomeiwen.com/subject/qyrqcctx.html