如果我们必须为 .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 层架构来实现。
简单来说,一是对象/API设计,一是系统架构;两人可以幸福地生活在一起。
关于asp.net-mvc - 如何决定在 Web 应用程序中使用 MVC 或 3 层架构中的哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4263619/