Я пытаюсь разобраться с различными шаблонами (MVP, MVVM и т. Д.) И найти тот, который соответствует моим потребностям. После всех моих чтений я все еще не уверен. Надеюсь, кто-то может пролить свет на это для меня.
На данный момент у меня есть WPF View, который реализует интерфейс ICustomView. Этот интерфейс вводится в мой Presenter. Затем докладчик отвечает за подписку на данные, управление подписками и т. Д. Когда данные возвращаются докладчику, он вызывает различные методы для модели (коллекция IObservable CustomBusinessObjects). Это делается с использованием интерфейса ICustomView, поскольку IObservable является свойством модели.
Проблема, которую я вижу с этим, состоит в том, что Модель слишком связана с Видом. Также докладчик решает, какие методы вызывать против модели. На данный момент представление состоит из сетки WinForms, и это предоставляется ICustomView, что позволяет докладчику вызывать методы для представления. Однако это добавляет к соединению Presenter и View, что затрудняет замену этой сетки WinForms на сетку или диаграмму WPF и т. Д.
Я рассматриваю вопрос о том, чтобы сделать Модель полностью отдельной сущностью, скажем, IModel с одним методом ProcessUpdate (строковая тема, полезная нагрузка IMessage). Это отодвинет логику от презентатора в модель. Это также означало бы, что несколько представлений могут использовать одну и ту же модель. Пользовательская модель может иметь дополнительные интерфейсы для конкретных настроек, но докладчик должен знать только об IModel.
Звучит ли это как разумная идея? Я что-то здесь упускаю?
Любой совет приветствуется.
Спасибо