public override void Send(string message, Colleague colleague) { if (colleague == Farmer) { // если позвонил фермер по поводу помидоров - передаем на прозиводство Manufactore.MakeKetchup(message); } else if (colleague == Manufactore) { // если позвонил зовод, то посредник звонит в магазин - размещать товар. Shop.SellKetchup(message); } }
static void Main(string[] args) { var mediator = new ConcreteMediator(); var farmer = new Farmer(mediator); var manufacture = new Manufactore(mediator); var shop = new Shop(mediator); mediator.Farmer = farmer; mediator.Manufactore = manufacture; mediator.Shop = shop; // Фермер растит помидоры farmer.GrowTomato(); }