Arhn - архитектура программирования

ViewModel и Model в ASP.NET MVC 3 в отношении DDD — Совет

Прохождение учебника здесь: http://www.asp.net/mvc/tutorials/iteration-4-make-the-application-loosely-coupled-cs

Я заметил, что они передают объект, сгенерированный EF, с контроллера на уровень обслуживания. Должны ли они вместо этого передавать модель представления, а затем выполнять сопоставление на уровне службы, или они делают правильно?

Я пытаюсь понять перевод модели представления в фактическую модель предметной области, переданную от уровня обслуживания к уровню сохраняемости.

Спасибо


Ответы:


1

Общее правило состоит в том, что нижние уровни не должны знать о верхних уровнях.

Это означает, что сервисный уровень не должен знать о моделях представлений (поскольку они являются деталями реализации на уровне пользовательского интерфейса).

10.08.2011
  • Добавление к этому: сопоставление модели EF с моделью представления и из модели представления с моделью EF должно выполняться на уровне пользовательского интерфейса. 10.08.2011
  • См. en.wikipedia.org/wiki/Law_of_Demeter... Используйте ValueInjector, чтобы избежать -кодовые назначения между объектами пользовательского интерфейса, домена и EF. Объекты EF могут оставаться скрытыми в вашем репозитории и внедряться в объекты домена. Вы можете создавать объекты, специфичные для пользовательского интерфейса, и связывать их между вашими V и VM и ValueInject их в вашем приложении ... но вы можете рассмотреть возможность ослабления объектов LoD и домена утечки только для виртуальной машины, сохраняя отдельное обслуживание объектов пользовательского интерфейса. Ужасы! 12.08.2011
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..