Java设计模式——中介者模式

Java设计模式——中介者模式

  • 需求——智能家居
    1)智能家庭包括各种设备:闹钟、咖啡机、电视机、窗帘等。
    2)主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为:闹铃响起——咖啡机开始做咖啡——窗帘自动落下——电视机开始播放。
  • 案例——租房子
    • 类图(传统方式)在这里插入图片描述
    • 类图(引入中介者)在这里插入图片描述
  • 传统模式
    • 类图在这里插入图片描述

    • 问题分析
      1)当各个电器对象有多重状态改变时,相互之间的调用关系会比较复杂。
      2)各个电器对象彼此联系,你中有我,我中有你,不利于松耦合。
      3)各个电器对象之间所传递的消息(参数),容易混乱。
      4)当系统增加一个新的电器对象时,或者执行流程改变时,代码的可维护性、扩展性都不理想——>考虑 中介者模式

  • 中介者模式
    • 基本介绍
      1)中介者模式(Mediator Pattern),用一个中介对象来封装一系列的对象交互。
      中介者使各个对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
      2)中介者模式属于行为型模式,使代码易于维护
      3)比如MVC模式,C(Controller控制器)是M(Model模型)和V(View视图)的中介者,在前后端交互时起到了中间人的作用。

    • 类图

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值