Основным преимуществом использования «посреднических контроллеров» (подклассов NSController) компании Cocoa является то, что они реализуют большую часть стандартных функций, необходимых для посредничества между моделью и ее представлением. Такие вещи, как отслеживание части модели, указанной при выборе вида, и поддержка транзакций (так что вы можете, например, зафиксировать или отменить набор модификаций вида или модели), включены «бесплатно». Использование подклассов NSController в качестве «связующего» кода между моделью и представлением освобождает вас как разработчика, чтобы сосредоточить свои усилия на функциональности «Координирующий контроллер» - прикладной логике, которая находится на уровне контроллера.
Так стоит ли использовать этот шаблон в .Net? Заставить координирующий контроллер работать должным образом нетривиально (например, Apple потребовалось несколько выпусков, чтобы все было в порядке). Такие вещи, как контроллеры деревьев, особенно сложны. Если вы используете этот шаблон только в одном или нескольких проектах, это может не стоить усилий. С другой стороны, я уверен, что сообщество оценило бы общую структуру контроллеров, в том числе иерархию NSController от Cocoa.