中介者模式(Mediator Pattern)

2021-08-31 18:38:03 字數 2366 閱讀 9487

中介者模式(mediator pattern

簡述

中介者模式,顧名思義,有乙個起中介作用的類,在物件間進行通訊。而不需要物件之間的直接連線。這就起到了低耦合的效果。符合物件導向理論的高內聚、低耦合。

具體應用例項

假設有兩個人,分別叫做chao和zhen,兩人相隔千里。這一天chao和zhen起了衝突,chao通過mediator向zhen扔了一句話,zhen給了回應。

我艹,顯然有點牽強,上**安慰一下自己。

qt平台**呈上

terminal.h

#ifndef terminal_h

#define terminal_h

#include "servermediator.h"

class terminal

;#endif // terminal_h

terminal.cpp

#include "terminal.h"

terminal::terminal()

terminal::~terminal()

void terminal::setmediator(servermediator* mediator)

void terminal::sendmessage(string msg)

void terminal::getmessage(string msg)

servermediator.h

#ifndef servermediator_h

#define servermediator_h

//#include "terminal.h"

#include #include using namespace std;

class terminal;

class servermediator

;#endif // servermediator_h

servermediator.cpp

#include "servermediator.h"

servermediator::servermediator()

servermediator::~servermediator()

void servermediator::setterminala(terminal *a)

void servermediator::setterminalb(terminal *b)

void servermediator::send(string message, terminal *sender)

ablineserver.h

#ifndef ablineserver_h

#define ablineserver_h

#include "servermediator.h"

class ablineserver: public servermediator

;#endif // ablineserver_h

ablineserver.cpp

#include "terminal.h"

#include "ablineserver.h"

ablineserver::ablineserver()

ablineserver::~ablineserver()

void ablineserver::setterminala(terminal *a)

void ablineserver::setterminalb(terminal *b)

void ablineserver::send(string message, terminal *sender)

else if(sender == m_b)

}chao.h

#ifndef chao_h

#define chao_h

#include "terminal.h"

class chao: public terminal

;#endif // chao_h

chao.cpp

#include "chao.h"

chao::chao()

chao::~chao()

void chao::setmediator(servermediator* mediator)

void chao::sendmessage(string msg)

void chao::getmessage(string msg)

void zhen::getmessage(string msg)

中介者模式

1.中間 類 namespace intermediarypattern 成員物件需要知道是哪個中介者在通知它事情 public abstract class member 各成員間要傳送訊息 public abstract void send string msg 這個方法其實是具體實施發訊息的 ...

中介者模式

中介者模式就是在物件之間的關係很複雜時用,名如其人,就像租房的黑中介一樣,如果每個房東都拿著很多租房者的資訊很麻煩,每個租房者都要拿著很多房東的資訊也麻煩,所以需要乙個中介來拿著這些資訊,租房者只需要發出租房的請求,中介會給你介紹合適的房東,房東只需要提交房屋資料就等著中介的人帶著訪客看房拿錢就行了...

中介者模式

中介者模式 mediator pattern 1 抽象中介者 mediator 角色 抽象中介者角色定義統一的介面用於各同事角色之間的通訊。具體中介者 concrete mediator 角色 具體中介者角色通過協調各同事角色實現協作行為,因此它必須依賴於各個同事角色。同事 colleague 角色...