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