Основы, особенности и реализация с нуля паттерна «Посредник» (англ. Mediator): гайд для C#-разработчика от Steven Giesel. Читать