У меня есть ASP.NET MVC3 в C # и Razor.Архитектура приложения разделена на уровень доступа к данным (классы EF + репозиторий), уровень обслуживания, контроллер, ViewModels и View.
Мое приложение представляет собой панель мониторинга , оно должно отображать статистикуо продуктах с помощью графиков.
Предположим, у меня есть таблицы Product
и ProductCategory
, и на графике я должен отобразить процент проданных Products
за ProductCategory
за Месяц .По оси X у меня есть месяцы, по оси Y - процент ProductPerCategory / ProductTotal , и поэтому у меня столько строк, сколько и ProductCategories
.
В этом случае мой Модель предметной области состоит из Product
и ProductCategory
объектов на EF .Мой репозиторий передает эти доменные объекты на его верхний уровень (уровень обслуживания).
Моя бизнес-модель создается объектом ProductGraph
и моей службойСлой передает этот бизнес-объект своему верхнему уровню (Controller).
Мой контроллер берет этот ProductGraph
объект и сопоставляет его с View Model ProductGraphViewModel
для отображения вthe view.
Правильно ли это различие между моделями?Есть ли какой-либо недостаток или плохой подход к определению объектов, передаваемых между слоями?