Я просто, может казаться, не получаю голову вокруг того, что точно является МОДЕЛЬЮ в MVP.
Если у меня есть ПРЕЗЕНТАЦИЯ многоуровневой архитектуры / ПРИЛОЖЕНИЕ / ДОМЕН / ИНФРАСТРУКТУРА, какова точно МОДЕЛЬ?
Если кто-то мог бы очистить мое понимание того, что является МОДЕЛЬЮ, это значительно ценилось бы.
Модель обычно представляет собой группу классов / типов / компонентов, которые представляют основной домен (бизнес или другой), в котором работает ваше приложение. Это классы, которые выполняют необходимую ключевую логику, часто в форме бизнес-правил, а также потребляют / манипулируют данными.
В вашем многоуровневом примере Модель в основном находится на уровне домена, но также может находиться в Уровень приложения.
Я думаю, вам трудно это понять, потому что вы пытаетесь объединить два отдельных архитектурных шаблона или способы взглянуть на приложение, являясь n-уровневым / n-уровневым по сравнению с MVP.
Совершенно разумно (и довольно часто) использовать какой-то подход «Модель / Представление», одновременно применяя многоуровневую структуру в вашем приложении.
Может быть, вам стоит сначала сосредоточиться на них по одному, а затем наложить их, когда вы будете более знакомы с обоими.
В вашем многоуровневом примере Модель в основном находится на уровне домена, но может также находиться на уровне приложения.
Я думаю, вам трудно понять это, потому что вы пытаетесь объединить два отдельных архитектурных шаблона, или способы взглянуть на приложение, будучи n-уровневым / n-уровневым по сравнению с MVP.
Совершенно разумно (и довольно часто) использовать какой-то подход «Модель / Представление», одновременно применяя многоуровневую структуру в вашем приложении.
Может быть, вам стоит сначала сосредоточиться на них по одному, а затем наложить их, когда вы будете более знакомы с обоими.
В вашем многоуровневом примере Модель в основном находится на уровне домена, но может также находиться на уровне приложения.
Я думаю, вам трудно понять это, потому что вы пытаетесь объединить два отдельных архитектурных шаблона, или способы взглянуть на приложение, будучи n-уровневым / n-уровневым по сравнению с MVP.
Совершенно разумно (и довольно часто) использовать какой-то подход «Модель / Представление», одновременно применяя многоуровневую структуру в вашем приложении.
Может быть, вам стоит сначала сосредоточиться на них по очереди, а затем наложить их, когда вы будете более знакомы с обоими.
Вам трудно понять это, потому что вы пытаетесь объединить два отдельных архитектурных шаблона или способы взглянуть на приложение, являясь n-уровневым / n-уровневым по сравнению с MVP.Вполне разумно (и довольно часто) использовать какой-то подход «Модель / Представление», одновременно применяя многоуровневую структуру в вашем приложении.
Может быть, вам стоит сначала сосредоточиться на них по очереди, а затем наложить их, когда вы будете более знакомы с обоими.
Вам трудно понять это, потому что вы пытаетесь объединить два отдельных архитектурных шаблона или способы взглянуть на приложение, являясь n-уровневым / n-уровневым по сравнению с MVP.Вполне разумно (и довольно часто) использовать какой-то подход «Модель / Представление», одновременно применяя многоуровневую структуру в вашем приложении.
Может быть, вам стоит сначала сосредоточиться на них по очереди, а затем наложить их, когда вы будете более знакомы с обоими.
Неважно, каким архитектурным принципам вы следуете, M всегда будет одним и тем же. Модель - это часть, специфичная для вашего домена. Это то, что на самом деле пытается сделать ваше приложение. Модель должна представлять сферу вашего бизнеса. Это касается MVP, MVC, MVVM и т. Д.
Если вы создавали систему инвентаризации, то класс Inventory, скорее всего, был бы в вашей модели, продукт, вероятно, был бы там, заказ, вы поняли. Это то, что составляет логику вашего домена.
Модель - это данные. Это могут быть просто данные из базы данных в DataSets или полная модель предметной области с объектами, представляющими вашу сферу бизнеса.
Представление - это пользовательский интерфейс, будь то веб-страницы или приложение Windows или приложение для мобильных устройств.
Презентатор является связующим звеном между ними и мозгом всей компании. Действия, инициированные представлением, происходят в презентаторе. Обычно в приложении WinForms, например, событие Button.Click в моем представлении просто вызывает метод на Presenter, который затем выполняет все необходимые действия (и может просто делать что-то в представлении).
presenter содержит ссылку на представление (через интерфейс) и на модель. В представлении есть ссылка на ведущего (обычно я сильно набираю это, но это также может быть интерфейс). Модель не знает ни о ведущем, ни о представлении.
В любой из архитектур Model-View- * Модель - это то, что описывает данные в вашем приложении (и, если они соответствуют потребностям, передаются в представление для рендеринга).
Если ваше приложение уже имеет объекты домена, вполне возможно, что вы могли бы использовать их для своей модели.