几种常用的设计模式--代理模式

153 阅读1分钟

一、分类

  • 静态代理模式
  • 动态代理模式

二、说明

  • 静态代理模式

    /**

    • 与适配器模式的区别,适配器模式主要改变所考虑对象的接口,

    • 而代理模式不能改变所代理类的接口。与装饰器模式的区别,

    • 装饰器模式是为了增强功能,代理模式是为了加以控制 */ public class ProxySigntureService implements SigntureService {

      private SigntureService signatureService;

      /**

      • Default constructor */ public ProxySigntureService(SigntureService signatureService) { this.signatureService = signatureService; }

      public void sign() { //控制对这个对象的访问 // 实现电子签名 }

    }

  • 动态代理模式

    public class DynamicProxySignatureService implements InvocationHandler { private Object obj;

    public DynamicProxySignatureService(Object obj) {
        this.obj = obj;
    }
    @Override
    public Object invoke(Object proxyObj, Method method, Object[] objects) 
           throws Throwable {
        return method.invoke(obj,objects);
    }
    

    }

源代码:

[hanko/design-pattern​

gitee.com

](link.zhihu.com/?target=htt…)