中介者模式
用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称调停者模式。
中介者模式实例之虚拟聊天室
从类图可知, Member关联了ChatRoom,当member发送消息时,需要经过Chatroom中介者的处理和转发到指定的member中。整体结构比较简单。
下面是c++版本的实现。
抽象中介者类AbstractChatroom(抽象聊天室类)
class Member;
//抽象中介者类AbstractChatroom(抽象聊天室类)
class AbstractChatroom{
public:
virtual void registerMember(Member* member) = 0;
virtual void sendText(string from,string to,string message) = 0;
virtual void sendImage(string from,string to,string image) = 0;
};
抽象同事类Member(抽象会员类)
//抽象同事类Member(抽象会员类)
class Member{
public:
Member(string name){
this->name = name;
}
string getName(){