asp.net-mvc – 域模型中的ASP.NET MVC业务逻辑与服务层
我一直在阅读关于在ASP.NET MVC项目中放置业务逻辑一段时间,我仍然不能弄清楚一些事情。
1 – 域模型。这些真的是什么?在我的模型文件夹中,我只有一堆类对应我的数据库。我先使用EF代码。我假设这些是我的域模型。 2 – 服务层。 This answer建议一个服务层,我认为这是完全有道理的。我决定和这个一起去。然而,Martin Fowler’s “Anemic Domain Models”文章搞砸了我的心。 我不知道如何添加逻辑到我的领域模型。 我经历了许多与业务逻辑相关的问题,每个都提出了1或2.我不明白是如何实现第一个。将方法添加到实体类(我的域模型)根本没有意义。为什么第二种方法被认为是坏的? 解决方法
首先,您的Asp.Net MVC项目中的Model文件夹应该用于ViewModels。这些是您的控制器发送到您的视图的模型。它们应该针对视图进行高度优化,这意味着只有视图所需的属性,而没有别的。
您正在进行的,域模型,与业务模型相同,并且属于您的业务层。 Asp.Net MVC项目中的Model文件夹是您的UI层的模型。 第二种方法,在你的服务(真正的业务)层的业务逻辑不被认为是坏的。它是你的数据层和你的UI层(3层架构)之间非常好的缓冲区。您的数据层处理从Web服务或数据库获取数据,并且您的业务/服务层将处理将该数据转换为业务/域模型。它还拥有任何业务逻辑,如计算等。 这些业务/领域模型通常是POCO,但不一定是POCO。这是我有时设置我的商业模式: public class BusinessObject { private DataObject _dataObject; public BusinessObject(DataObject dataObject) { _dataObject = dataObject; } public int BusinessId { get {return _dataObject.Id;} set {_dataObject.Id = value;} } public string Name { get {return _dataObject.Description;} set {_dataObject.Description = value;} } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 无法加载文件或程序集’StructureMap,Ver
- asp.net-mvc – MVC5自托管OWIN返回404
- asp.net-mvc-4 – 页脚的Kendo Grid Aggregation
- asp.net – 如何使用PowerShell了解IIS中托管的特定网站的活
- asp.net-mvc – 在Entity Framework中干净地更新层次结构
- asp.net web api和odata的路由
- asp.net-mvc – 我应该为ASP.Net MVC项目使用什么ORM?
- asp.net-mvc – Microsoft.Owin.Security.IAuthenticationM
- asp.net-mvc – 使用cshtml页面的angularjs不是带有web api
- asp.net-mvc – 在ASP.net MVC 2.0中使用Url.Content
- asp.net-mvc-4 – Asp.Net Web Api – ModelBind
- ASP.NET MVC中ViewModel和Model之间的主要区别是
- asp.net-mvc – MVC3 – RenderSection中的Rende
- asp.net通过kerberos集成windows身份验证到sql s
- asp.net – 如何在转发器中每行显示x个项目?
- 在ASP.NET MVC中公开资源字符串到JavaScript文件
- asp.net-mvc – 如何使用Linq to SQL配置mvc min
- asp.net – 如何在我的vnext应用程序中启用rosly
- ASP.NET httpHandlers和处理程序
- 打开排序时出现ASP.NET GridView CSS问题