中介者模式用于集中对象交互,简化通信。结构包括中介者接口、具体中介者、具体同事。在 C++ 中实现步骤为:1. 创建中介者接口;2. 创建具体中介者;3. 创建具体同事;4. 实例化对象并协调交互。优点包括松耦合、可扩展性、沟通集中化。
如何在 C++ 中实现中介者设计模式
目的:
中介者模式用于定义一个对象,该对象负责集中对象之间的交互并简化它们之间的通信。
结构:
中介者设计模式的核心结构如下:
实现:
在 C++ 中实现中介者模式的步骤如下:
class Mediator { public: virtual void Notify(Colleague* colleague, const std::string& message) = 0; };
class ConcreteMediator : public Mediator { public: void Notify(Colleague* colleague, const std::string& message) override { // 根据 message 和 colleague 协调交互 } };
class ConcreteColleague1 : public Colleague { public: ConcreteColleague1(Mediator* mediator) : Colleague(mediator) {} }; class ConcreteColleague2 : public Colleague { public: ConcreteColleague2(Mediator* mediator) : Colleague(mediator) {} };
实战案例:
考虑一个聊天室应用程序,其中有多个用户可以互相发送消息。我们可以使用中介者模式来简化用户之间的通信,而不是让它们直接彼此交互。
在这款应用程序中:
好处: