В MVP модель может использоваться совместно с BLL
Я прочитал следующую действительно хорошую и информативную статью о MVP: Создание MVP с нуля.
Обратимся к приведенной ниже схеме архитектуры (взято из поста):
- я хотел знать, будут ли классы модели, определенные на уровне представления, также использоваться на уровне BLL. Должны ли эти классы быть частью отдельного проекта, на который затем будут ссылаться в BLL.
- Также не будет уровень обслуживания пользователя класса модели для передачи данных в и из BLL.
1 ответ
В зависимости от вашей архитектуры. Вы имеете в виду мобильный объект (не мобильное устройство) или просто сущность... это возможно, если вы поместите его в общий проект / библиотеку, на которую могут ссылаться ваши BLL, DAL и другие проекты, такие как ваш сервис... при группировке существуют определенные правила общие объекты, убедитесь, что объекты в общей библиотеке являются очень простыми объектами и вспомогательными классами, никаких ссылок на библиотеки пользовательского интерфейса, потому что это нарушит суть вашей общей библиотеки.
Если ваш BLL, DAL, имеет ограничение, ссылающееся на сущность (это происходит, когда вы помещаете объект сущности в свой BLL или DAL), создайте интерфейс этой сущности и поместите его в общую библиотеку и используйте это как параметр вместо объекта сущности…
В сервисе я использую интерфейс для имитации... Интерфейс позволяет выполнять горизонтальное тестирование (макетирование), потому что вы можете создавать фиктивные объекты, используя интерфейс...
Надеюсь, я отвечу на ваши вопросы...