设计模式之中介者模式
中介者模式,用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式很好理解,其UML图如下:
Mediator中每个交互者的引用,在Mediator内部封装了各种类之间的交互。至于那个类和那个类交合则有具体的需求来决定。示例代码如下:
// MediatorModel.h文件
#pragma once
#include <string>
#include <iostream>
class Colleague;
class Mediator
{
public:
virtual void send(std::string msg, Colleague * p) = 0;
};
class Colleague
{
protected:
Mediator * m_mediator;
public:
Colleague(Mediator * p)
{
m_mediator = p;
}
virtual void send(std::