- В большинстве случаев объекты ModelView являются просто контейнерами, содержащими объекты Model, когда нам нужно отправить их несколько типов или когда нам нужно передать пару дополнительных свойств, которые необходимы только в Views.
- Если работа View заключается в отображении деталей модели, и нечего передавать View, почему бы и нет?
- Зависит. Вы можете использовать свои классы ModelView и Model только для переноса данных между слоями. И позаботьтесь о проверке с помощью связывателей модели Cutom или с помощью сервисного слоя.
- Нет причин, по которым они не должны знать о ModelViews. Но обычно вы просто получаете запрошенные Модели из сервисного уровня от контроллера, а затем передаете их / их непосредственно или в ModelView в View.
Кстати, я бы не рассматривал ModelViews как архитектуру. Это больше похоже на «использовать один, когда вам нужен». В конце концов, нет смысла делать это для передачи данных для просмотра:
class SomeModelView {
public MyModel model { get; set; }
}
Просто передайте MyModel
, если этого достаточно для представления, выполняющего свою работу.