【设计模式】行为模式之中介者Mediator

标签: 设计模式中介者Mediator
259人阅读 评论(0) 收藏 举报
分类:

中介者Mediator是一种对象行为型设计模式,目的是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。

在传统的面向对象设计过程中,通常将行为分布到各个对象中以增强可复用性,但随之也增加了对象间的相互连接,如果相互连接过多,使得一个对象似乎不太可能在没有其他对象的支持下工作,整个系统表现为一个不可分割的整体,导致对系统的行为进行任何较大的改动都十分困难,可能不得不定义很多子类以定制系统行为,结果系统越来越冗长而复杂。使用中介者模式可以避免这个问题,将集体行为封装在一个单独的中介者对象中,负责控制和协调一组对象间的交互。中介者充当一个中介以使组中对象不再相互显式引用,这些对象仅知道中介者,从而减少了相互连接的数目。

中介者模式的结构如下图所示:

这里写图片描述

上图中,Mediator中介者定义一个接口用于与各同事Colleague对象通信;ConcreteMediator具体中介者通过协调各同事对象实现协作行为,了解并维护它的各个同事;Colleague各同事类都知道它的中介者对象,在需要与其它同事通信的时候,与它的中介者通信。各同事向一个中介者对象发送和接受请求,中介者在各同事间适当地转发请求以实现协作行为。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:224640次
    • 积分:4859
    • 等级:
    • 排名:第5858名
    • 原创:241篇
    • 转载:0篇
    • 译文:5篇
    • 评论:38条
    博客专栏
    文章分类