Jer*_*984 9 c# architecture asp.net-mvc entity-framework
我非常忙于新MVC应用程序的架构,但我对如何管理不同类型的对象感到非常困惑.混淆是关于实体,业务对象和视图模型之间的关系.我将用一个例子描述我的困惑:
我已经使用不同的项目设置我的Web应用程序:MVC前端,BLL,DAL,常见事物等.
假设我有一个自行车列表的视图.我想显示自行车的细节,如颜色,尺寸,制造商.但在我的数据库中,Bike和Manufacturer是两个不同的表,因此在我的Entity Framework上下文中,这些也是两个不同的类.
所以我有两个实体自行车和制造商.但在我的业务需求中,我认为他们需要成为一个单独的对象,我可以在业务逻辑中操作或使用它.然后有我的观点,需要一个(视图)模型.这也应该是具有来自不同表的属性的组合ViewModel.
我该如何处理?我是否需要从我的DAL获取Bike和Manufacturer对象,并在我的BLL中创建一个业务对象,在做了一些业务逻辑之后,我应该在我的控制器中创建一个ViewModel吗?或者我的DAL是否需要返回合并的业务对象?或者我可以将实体对象用作业务类吗?或者我还可以将我的业务对象用作ViewModel吗?
我希望我的问题很清楚,任何人都可以给我一个很好的建议,告诉我需要哪个对象以及创建不同类型对象的方式,地点和时间,以及这些类应该在哪个层...
你的问题的答案很简单。您的不同模型层之间没有任何关系。它们是完全孤立的,并且不互相引用。一点也不。因此,没有什么可混淆的。
您的层的不同部分中有代码,这些代码在 UI->Business 和 Business->Data 两个层之间进行映射,但这应该是它们之间任何交互的范围。
归档时间: |
|
查看次数: |
5909 次 |
最近记录: |