Java23种设计模式之代理模式

代理模式:

1、定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

 2、通俗来讲,代理模式顾名思义就是代理的意思,就像我们买火车票,可以通过携程等app平台中介来购买,或者同学代买等,但最后火车票还是你自己的。就是可以通过自己也可以通过代理,两种方式来购票。

 3、代理模式组成:

      (1)抽象角色:通过接口或抽象类声明真实角色实现的业务方法。

      (2)代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。

      (3)真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。

 4、代理的优点:

     (1)职责清晰,真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。叫你去买票,我管你有没有摔跤撒的,不需要关注这种问题。

    (2)代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。别人在路上一看,以为是你同学要买票去哪里,实际上买的是你的,保护了你。

    (3)高扩展性,只要符合火车站规定的人,同学都可以去代人买票。

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

推荐阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,978评论 1 15
  • 整体Retrofit内容如下: 1、Retrofit解析1之前哨站——理解RESTful 2、Retrofit解析...
    隔壁老李头阅读 3,269评论 2 10
  • 这个分享中,我感触最深的有三点。一是,关于博物馆,把我们内心中放不下的借条、承受的折磨和苦难,都看做是我们自己人生...
    荔儿果果阅读 485评论 0 1
  • 别瞎操心他人,人这一辈子自己还忙不过来了,要学会关心、经营自己。一个人的旅程,去记录下自己的感知,不被他人感觉所打...
    淘暣尐寵兒阅读 135评论 0 0