行为型模式设计模式--中介者模式

中介模式

中介模式(Mediator Pattern)是一种行为型设计模式,它通过引入一个中介对象来封装一组对象之间的交互,从而减少对象之间的直接依赖,从而实现松耦合。
中介模式的核心思想是:将对象之间的复杂交互集中到中介对象中,使得对象之间不需要直接相互引用,而是通过中介对象进行通信。

在中介模式中,多个对象通过中介进行通信,而不是直接互相交流。中介对象来封装(封装变化)一系列的对象交互。中介者使各对象不需要显式的相互引用(编译时依赖→运行时依赖),从而使其耦合松散(管理变化),而且可以独立地改变它们之间的交互。
与Facade模式(解耦系统间单向的对象关联关系)不同,Mediator模式是解耦系统内各个对象之间(双向)的关联关系。

中介模式的结构

中介模式通常包含以下几个角色:

  1. Mediator(中介接口)
    • 定义中介对象的接口,通常包含多个方法,用于处理不同对象之间的交互。
  2. ConcreteMediator(具体中介)
    • 实现中介接口,封装一组对象之间的交互逻辑。
    • 具体中介对象通常包含对多个同事对象的引用,并在其方法中协调这些同事对象的行为。
  3. Colleague(同事接口)
    • 定义同事对象的接口,通常包含一个指向中介对象的引用。
  4. ConcreteColleague(具体同事)
    • 实现同事接口,定义具体的同事对象。
    • 具体同事对象通常通过中介对象与其他同事对象进行通信。

中介模式的优点

  1. 减少对象之间的直接依赖
    • 中介模式通过引入中介对象来封装对象之间的交互,减少了对象之间的直接依赖。
  2. 集中控制交互逻辑
    • 中介模式将对象之间的交互逻辑集中到中介对象中,使得交互逻辑更加清晰和易于维护。

中介模式的应用场景

  1. 对象之间的复杂交互
    • 当对象之间的交互非常复杂时,可以使用中介模式来简化交互逻辑。
  2. 减少对象之间的直接依赖
    • 当需要减少对象之间的直接依赖时,可以使用中介模式。
  3. 集中控制交互逻辑
    • 当需要集中控制对象之间的交互逻辑时,可以使用中介模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值