asp.net-mvc - 如何决定在 Web 应用程序中使用 MVC 或 3 层架构中的哪一个?

标签 asp.net-mvc architecture

如果我们必须为 .Net 中的 Web 应用程序选择任何一种架构模式,哪一种是最好的,MVC 还是 3 层,如何决定?

最佳答案

吉万,

不幸的是,我认为您正在遵循许多刚接触 MVC 的开发人员所采取的一系列思路,因为您已经“被灌输”了一种信念,即 mvc(模型)中的“M”纯粹是一个 linq2sql 平面实现,那就是它用于模型。并非如此......在我们的应用程序中,我们必须满足网络/桌面和手持设备的混合需求,所有这些设备都使用其中的各个通用功能领域。因此,我们创建了一个包含所有业务逻辑的“BLL/DAL”dll,在我们的 mvc 应用程序中被引用为“M”。我们的网络表单应用程序以及桌面应用程序中也使用了相同的“bll/dal”。在当前的一个应用程序中,我们使用 bll/dal dll 连接到 oracle 后端,并使用 MVC 纯粹作为 RESTful 服务,充当两个遗留系统之间的中介。考虑到我们的 bll/dal dll 的设计,我们可以根据业务需要轻松地将其切换到 sqlserver。

所以简而言之,选择 MVC 或 3 层(我实际上认为你的意思是分层,而不是分层 [这更多地与功能/服务的物理分离相关])的主张完全是一个没有实际意义的问题,因为它们是融合技术,而不是不同的技术。

希望这会有所帮助 - 今天晚些时候我将尝试通过 Mr google 获取一些示例,以例证我的方法的完整性。

[编辑] - 来自 SO 上的类似问题; N 层仅指实现的物理结构。这两者有时会混淆,因为 MVC 设计通常使用 N 层架构来实现。

MVC Vs n-tier architecture

简单来说,一是对象/API设计,一是系统架构;两人可以幸福地生活在一起。

关于asp.net-mvc - 如何决定在 Web 应用程序中使用 MVC 或 3 层架构中的哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4263619/

相关文章:

css - 在 MVC 4 中找不到编辑器标签和编辑器字段的定义,MS 是否删除了它?为什么?

asp.net-mvc - ASP.NET MVC FileStreamResult 未按预期工作

c# - 停止 Razor 循环

.net - 如何为多个应用程序组织 .NET 解决方案、项目和系统文件夹?

java - 是否可以有架构指南?如果是这样,它们应该是什么?

asp.net-mvc - 如何验证来自 MVC 客户端的 web api 调用

javascript - 附加了奇怪的 jQuery 查询字符串

oop - 帮助类设计

javascript - 谁能为大型 Web 应用程序推荐一个好的客户端架构和结构?

javascript - 可扩展 Electron 应用程序的架构?