首页 > 代码库 > Mediator

Mediator

#include <iostream>using namespace std;class ObjectA{public:    void Whoami() { cout<<"ObjectA"<<endl; }};class ObjectB{public:    void Whoami() { cout<<"ObjectB"<<endl; }};class ObjectC{public:    void Whoami() { cout<<"ObjectC"<<endl; }};class Mediator{public:    void Set(ObjectA* pObjectA, ObjectB* pObjectB, ObjectC* pObjectC) { m_pObjectA = pObjectA; m_pObjectB = pObjectB; m_pObjectC = pObjectC; }    void Interact1() { m_pObjectA->Whoami(); m_pObjectB->Whoami(); }    void Interact2() { m_pObjectB->Whoami(); m_pObjectC->Whoami(); }    void Interact3() { m_pObjectA->Whoami(); m_pObjectC->Whoami(); }    private:    ObjectA* m_pObjectA;    ObjectB* m_pObjectB;    ObjectC* m_pObjectC;};int main(int argc, char *argv[]){    ObjectA objA;    ObjectB objB;    ObjectC objC;        Mediator mediator;    mediator.Set(&objA, &objB, &objC);    mediator.Interact1();    mediator.Interact2();    mediator.Interact3();    return 0;}

 

Mediator