我在 C# 和 Razor 中有一个 ASP.NET MVC3。应用程序的架构分为数据访问层(EF 类 + 存储库)、服务层、控制器、ViewModels 和 View。
我的应用程序是一个仪表板,它必须使用图表来显示有关产品的统计信息。
假设我有表格,Product
并且ProductCategory
在图表中我必须显示Products
每月销售ProductCategory
的百分比。在 x 轴上我有月份,在 y 轴上是ProductPerCategory/ProductTotal的百分比,因此我的行数与ProductCategories
.
在这种情况下,我的域模型是由EFProduct
上的ProductCategory
对象创建的。我的存储库将这些域对象提供给它的上层(服务层)。
我的业务模型是由ProductGraph
对象创建的,我的服务层将此业务对象提供给它的上层(控制器)。
我的控制器获取此ProductGraph
对象并将其映射到要在视图中显示的视图模型 ProductGraphViewModel
。
模型之间的这种区别是否正确?层之间传递的对象的定义是否有任何不足或不好的方法?