当前位置:  开发笔记 > 后端 > 正文

我的模特应该住哪儿?Web层或数据层?(MVC + NHibernate)

如何解决《我的模特应该住哪儿?Web层或数据层?(MVC+NHibernate)》经验,为你挑选了2个好方法。

我正在使用MVC,Ninject和NHibernate设置一个n层应用程序(我第一次使用这些技术).为清楚起见,层是"数据"层,"服务"层和"Web"层(都是单独的项目).

使用MVC,您的模型位于"Models"文件夹中.似乎有必要将我的模型放在这里以创建强类型视图并且通常与MVC的哲学保持一致.

但是,使用NHibernate,我还需要在"数据"层中使用我的模型,以便可以进行映射,并且NHibernate可以实例化实际对象以返回到服务层.

在项目中复制类不是很干,并且将它们抽象到自己的库中似乎不能很好地与MVC(在实践和哲学中)相配.

有什么想法吗?如何构建O/RM对象与MVC模型?



1> Craig Stuntz..:

我将Entity Framework模型/类保留在数据层中,并将MVC项目的Models文件夹用于表示模型和模型绑定器.



2> Jim Barrows..:

数据模型是它自己的事情.MVC中的模型是不同的.它是您要显示的模型,可能是也可能不是您的数据模型.你的数据模型可能会超越层次.
以标准注册表格为例.数据模型可能包括用户名,密码和登录历史记录类数组,一个标记它的活动标志和许多其他内容.MVC中的模型可能只关心用户名和密码,并且用户输入密码两次.您的数据模型真的需要两个密码字段吗?不.但MVC中的模型确实如此.因此,两个不同的生物.


服务层应返回数据模型.或者,问问自己..如果我有不同的界面访问我的服务会怎么样?服务层对前端的了解越少,从长远来看就越好.
推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有