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