/// <summary> /// Коли в одній з модерованих систем відбулася зміна вона автоматично повідомляє про це медіатор /// а той в свою чергу викликає іншу систему слугуючи посередником. /// </summary> /// <param name="bodyPart"> /// Оскільки повідомлення може прийти від будь якої системи використовується їх спільний предок. /// Точка входу в посередник. Розрулює взаємодію між системами. /// Теоретично таких способів розрулювання може бути багато. /// </param> public void OnBodyChanged(BodyPart bodyPart) { if (bodyPart is Ear) { var sounds = _ear.GetSounds(); switch (sounds) { case "cool": _face.Smile(); break; default: _face.AskForDetails(); break; } } else if (bodyPart is Face) { // something else } }