Реализации на С++
Mediator
Общая реализация на языке С++
class Mediator
{
protected:
list<shared_ptr<Colleague>> colleagues;
public:
virtual ~Mediator() = default;
virtual bool send(const Colleague* coleague, shared_ptr<Message> msg) = 0;
static bool add(shared_ptr<Mediator> mediator, initializer_list<shared_ptr<Colleague>> list)
{
if (!mediator || list.size() == 0) return false;
for (auto elem : list)
{
mediator->colleagues.push_back(elem);
elem->setMediator(mediator);
}
return true;
}
};Last updated