Использую в проекте паттерн MVP. Существует одна форма с несколькими UserControl, для которых есть свои Presenter. Сейчас мне нужно установить связь между ними. По выбору начальника отдела (UserControl со своим Presenter), необходимо вывести сотрудников. При выборе сотрудников (так же как в предыдущем случае), необходимо вывести данные в другом UserControl. Причем существует отдельный контрол Фильтры, который связан с обеими контролами-таблицами. Для данной формы так же существует Presenter, который хранит в себе ссылки на презентеры контролов. Возникает вопрос: Как наладить их взаимодействие?
Я бы использовал IoC-контейнеры и инжектил бы сервисы в Presenter через параметры конструктора. В сервисы выносил бы всю логику работы, а Presenter должен брать данные из сервисов и закидывать в UI. Если сервисам установить правильное время жизни - все полетит.