- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 nTier 架构中,创建数据、业务、工作流和 UI 层是很常见的。在此设置中,您的数据层和业务层是分离的,并且可以被其他层重用。
在 ASP.NET MVC 中,模型似乎同时充当业务层和数据层,因为很明显模型就是数据,所有文档都表明业务逻辑属于模型。
当这两层混合时,这种架构如何促进良好的关注点分离?
最佳答案
View 模型和域模型之间存在差异。域模型是您的应用程序域。这些模型可以在任何地方、任何层中使用,并且它们通常放在一个单独的共享项目中。您的 View 模型仅适用于 UI。它们取决于您的页面需求/结构。假设您想创建用户管理页面,那么您的 View 模型可能是一个具有 2 个属性的类 User
和 List<Role>
其中 User
和 Role
是领域模型。
最后,您的数据模型通常只是数据库传输对象。 Entity Framework 模型通常同时用作数据和领域模型。
那么,回答您的问题:您自己选择适合自己的混音模型级别。问题是如果你不想混合,那么你将在解决方案中有相当多的模型重复,你将不得不手动或在像 AutoMapper
这样的库的帮助下从一种类型的模型映射到另一种类型的模型。 .这就是开发人员选择一些折衷方案的原因。
关于asp.net-mvc - ASP.NET MVC 与 nTier 关注点分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32314641/
如何将数据传递到 n 层应用程序中的层?我已经制定了 3 种不同的方法。 一) 通用 .net 对象通用数据表、哈希表、通用数据集、字符串、整数等... 然后使用数据集填充发送到 UI 层的业务对象。
我一直在阅读依赖注入(inject)(Mark Seemann: Dependency Injection in .NET 和各种文章)以帮助我的团队开发基于 EntityFramework、WCF
我看过很多 ASP.NET 和服务器工程师职位的招聘启事,他们似乎总是将 XML 和 XSLT 列为对他们有值(value)的技能之一。我想知道 XML 在现代系统中扮演什么角色。人们如何在 nTie
我刚开始学习 Entity Framework ,如果我使用 EF 作为我的 DataAccess 类,我还需要在我的解决方案上创建业务逻辑和 Poco 模型项目吗? 最近在我的应用程序中,我使用 A
带有模型的 NTier 逻辑层,处理 CRUD 我的团队正在考虑重新构建我们的一些系统以满足以下模式 数据层( Entity Framework 支持,数据库优先) 模型(POCOS,与 DAL 中的
因此,我们决定在我们的业务中重建一个应用程序,因为它一直在 Sharepoint 中,除了利用其文档索引功能之外没有明显的原因。 我们决定使用 C# 在 ASP.NET MVC3 中创建我们的新应用程
在 nTier 架构中,创建数据、业务、工作流和 UI 层是很常见的。在此设置中,您的数据层和业务层是分离的,并且可以被其他层重用。 在 ASP.NET MVC 中,模型似乎同时充当业务层和数据层,因
我是一名优秀的程序员,十分优秀!