首页 > 其他分享 >中介者模式-19

中介者模式-19

时间:2023-08-11 09:33:09浏览次数:38  
标签:19 abstract 模式 class Member 中介 AbstractMediator void

概述

中介者模式 (Mediator Pattern) 又称调停者模式。它定义一个中介对象封装一系列对象的交互,使得交互的对象不需要显式地引用。

优点:简化对象之间的交互,减少子类的数量。
缺点:中介类可能非常复杂。

abstract class AbstractMediator {
  abstract void register(Member m);
  abstract void action();
}

abstract class Member {
  private AbstractMediator am;
  private String name;
  
  abstract void activity();
}

class Mediator extends AbstractMediator {
  private ArrayList<Member> mbs;
  
  public register(Member m) {
    if (!mbs.contains(m)) {
      mbs.add(m);
      m.setAm(this);
    }
  }
  
  public void action() {
    // body
  }
}

class SubMember extends Member {
  public void activity() {
    // other
    am.action();
    // other
  }
}

图示:
image

参考

[1] 刘伟, 设计模式, 2011.

标签:19,abstract,模式,class,Member,中介,AbstractMediator,void
From: https://www.cnblogs.com/xdreamc/p/16468324.html

相关文章

  • ApacheCN 捐赠名单 2019
    这是ApacheCN的捐赠名单,不是龙哥盟博客的(关于ApacheCN)。最新的名单请见https://home.apachecn.org/donate/。捐赠者金额(元)时间收入类型L*g8.002019-12-25个人赞助A*x20.002019-12-17个人赞助E*c1.002019-12-16个人赞助*雅1.002019-12-09个人赞助*一1.002019-11-27个人赞助*春......
  • 人工智能/数据科学比赛汇总 2019.9
    Github:iphysresearch/DataSciComp本项目由ApacheCN强力支持。微博|知乎|简书|全球数据智能大赛(2019)——“数字人体”赛场一:肺部CT多病种智能诊断https://tianchi.aliyun.com/competition/entrance/231724/6月24-9月09,2019//Hostby天池//Prize:$900,000Note:......
  • ApacheCN 活动汇总 2019.7.19
    组织任务翻译校对活动MIT18.03写给初学者的微积分【校对】参与方式:https://github.com/apachecn/calc4b-zh/blob/master/CONTRIBUTING.md整体进度:https://github.com/apachecn/calc4b-zh/issues/1项目仓库:https://github.com/apachecn/calc4b-zh认领:9/74,校对:0/74章节贡献者进度第......
  • ApacheCN 活动汇总 2019.7.12
    翻译校对活动UIUCCS241系统编程中文讲义【校对】参与方式:https://github.com/apachecn/uiuc-cs241-notes-zh/blob/master/CONTRIBUTING.md整体进度:https://github.com/apachecn/uiuc-cs241-notes-zh/issues/1项目仓库:https://github.com/apachecn/uiuc-cs241-notes-zh认领:1/78,校......
  • 【我和openGauss的故事】openGauss 主备架构及同步复制模式理论学习与验证测试
    【我和openGauss的故事】openGauss主备架构及同步复制模式理论学习与验证测试尚雷[openGauss](javascript:void(0);)2023-08-0818:00发表于四川收录于合集#第六届openGauss技术文章征集初审合格文章62个备注:非常感谢在这研究本文相关内容中openGauss数据库官网行尘(张旭博)......
  • sql server 2019安装后没有找到management studio?
    1、背景:刚到公司报道,sqlserver已经帮我安装好了,可是我一查,咦惹?我的管理工具呢?咋打开怎么查询sql呢?2、检查过程:sql相关服务都启动了。3、原因:原来是SSMS是一个单独的组件了,不再和SQL Serve捆绑安装了。4、解决方案:去官方下载一个tool,安装以后即可解决。  安装成功以后。......
  • JavaScript访问者模式:优雅地遍历对象
    JavaScript访问者模式JavaScript中的访问者模式是一种优雅的设计模式,它可以帮助我们遍历对象并执行特定操作。在本文中,我们将介绍访问者模式的概念、实现方式以及一个简单的示例。什么是访问者模式?访问者模式是一种行为型设计模式,它允许我们在不改变对象结构的情况下,定义新的操......
  • 讨论 | 如何为雷达学习者建立一个较好的知识开源分享交流空间?(知乎+公众号+微信群模式)
    本文编辑:@调皮连续波,保持关注调皮哥,获得更多学习内容和建议!自从建立了雷达工程技术交流微信群以来,随着雷达研究人员们的激烈讨论,我逐渐意识到了一个严重的问题,即:各位雷达学习者在雷达微信群里咨询的问题,只能够解决的此刻当事人遇到的疑问,而对于后来可能会遇到同样问题的雷达学习者,......
  • ipsec 野蛮模式点到多点(分支通过总部进行互相访问)
    需求:总部与二分支之间通过ipsecvpn进行连通,需要实现分支1与分支2通过总部ipsecvpn进行连通(测试需要分支1与分支2同时进行ping去触发感兴趣流)总部配置分解:ACL配置感兴趣流:acladvanced3005(总部与分支1的感兴趣流)rule1permitipsource192.168.30.00.0.0.255destination......
  • IPSEC相关实验--野蛮模式(点到点)
    总部配置分解:第一步、定义感兴趣流ACLaclad3005rule10peripsource192.168.10.00.0.0.255des192.168.20.00.0.0.255第二步、配置ipsec安全协议ipsectransform-setidcespencryption-algorithmdes-cbcespauthentication-algorithmmd5第三步、创建IKEprof......