代理模式

代理模式

代理模式(Proxy),通过代理类封装实际调用类,实现共同的接口,添加额外功能,跟装饰模式都是基于组合原理,区别是代理模式自身管理被代理对象的生命周期,而装饰模式由客户端进行控制.

伪代码例子:

interface ServiceInterface is
    method operation()

class Service implements ServiceInterface is
    // 实现实际业务逻辑
    method operation()

class ServiceProxy implements ServiceInterface is
    // 实际调用对象
    field realService: Service

    ServiceProxy(s: ServiceInterface) { realService = s }

    // 实现相同方法
    method operation() is
        // 执行权限判断等额外操作
        checkAccess()
        realService.opeartion()

    method checkAccess() is
        // ...

class Client is
    ServiceInterface s = new Service()
    ServiceInterface sp = new ServiceProxy(s)
    sp.operation()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录:1.代理模式定义&实现2.装饰模式定义&实现3.静态代理4.动态代理:JDK动态代理、Cglib动态代理5....
    lbcBoy阅读 1,638评论 2 3
  • 代理模式基本概念 定义: 代理模式(Proxy Pattern)为其他对象提供一种代理以控制对这个对象的访问。代理...
    Airing阅读 1,061评论 0 9
  • 代理模式这种机制可以叫做AOP,在不改变原有代码的基础上,添加或者删除某些方法例如:要调用某个jar包中某个类的方...
    小螺丝钉cici阅读 134评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,606评论 28 53
  • 信任包括信任自己和信任他人 很多时候,很多事情,失败、遗憾、错过,源于不自信,不信任他人 觉得自己做不成,别人做不...
    吴氵晃阅读 6,230评论 4 8