Скажите, что у вас несколько триад MVP в приложении (приложение WinForms .NET 2.0), и каждая триада смотрит за одной областью ответственности. Каков ваш предпочтительный способ координации общения между триадами MVP?Координация триад MVP
Вариант 1 Объект-координатор, который «имеет» каждую модель и отслеживает координацию, подписываясь на необходимые события в каждом, а затем решая, какие методы модели вызывать в каких сценариях.
Беспокойство, что это может быть класс «бог».
Вариант 2 Презентатор «имеет» другого ведущего, и когда в модели происходит что-то интересное, ведущий использует другого ведущего для перемещения сообщения.
Беспокоиться, что ведущие не должны иметь публичный интерфейс (подход, основанный на презентаторе), и это нарушает это.
Мне просто интересно, что другие люди сделали для решения этой проблемы в масштабируемом стиле OO. Что делать, если я добавлю еще одну триаду MVP? Как трудно будет соответствовать этому в моем координаторе? Должны быть некоторые хорошие примеры того, как управлять несколькими триадами MVP в приложении WinForms?