В CAB и SCSF есть готовые к кодированию классы MVP (и интерфейсы).Так что, если вы реализовали это чисто, то вы можете просто скопировать ваши методы, как только вы освоите классы.
Попробуем проинформировать его: -
1) IView - Этоссылка на View, которая предоставляет только те установленные свойства / методы, к которым может обращаться Presenter (или любой другой класс)
2) View - имеет ссылку на Presenter и может получить доступ ко всем открытым / защищенным методамведущий.По своей конструкции он не может получить доступ к какой-либо службе, поскольку вам потребуется WorkItem (контейнер служб, состояние, команда, события и т. Д.).Для всех практических целей View предназначен только для управления элементами управления пользовательского интерфейса, привязкой, состоянием объекта и т. Д.
3) Presenter - имеет ссылку на WorkItem (через который вы можете получить доступ ко всем службам).Ответственность докладчика заключается в том, что он манипулирует данными с помощью Сервисов.
4) WorkItemController - WorkItemController может использовать функции, связанные с UseCase, как при подключении / отключении элементов управления пользовательского интерфейса, позиционировании вида и т. Д.
Егобольше, чем просто MVP в SCSF / CAB как общий дизайн приложения пользовательского интерфейса.Который имеет следующее: -
- Модульная структура
- Архитектура по требованию.
- Шаблон службы
- Команды
- СобытиеОбработчики и т. Д.
Итак, сначала вы должны проверить codeplex docs , чтобы увидеть, будет ли ваш проект легко модернизироваться на этой платформе / архитектуре.Я бы порекомендовал CAB / SCSF, если вы только начали и планируете сделать проект масштабируемым и на уровне предприятия.