如何决定在Web应用程序MVC或3层架构中应该使用哪一个?

Jee*_*att 3 architecture asp.net-mvc

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

jim*_*lan 10

杰文,

我认为你很遗憾地接受了一系列的思考,许多刚接触MVC的开发人员都认为你已经"喂饱"了一个信念,即mvc(模型)中的'M'纯粹是一个linq2sql平面实现,而且就是模型.不是这样......在我们的应用程序中,我们必须满足Web /桌面和手持设备的混合,所有这些都使用其中的各种常见功能.因此,我们创建了一个'BLL/DAL'dll,其中包含我们mvc应用程序中引用为"M"的所有业务逻辑.我们的网络表单应用程序以及桌面应用程序中使用了相同的"bll/dal".在一个当前的应用程序中,我们使用我们的bll/dal dll挂接到oracle后端,并使用MVC纯粹作为RESTful服务充当两个遗留系统之间的中介.考虑到我们的bll/dal dll的设计,

所以简而言之,选择MVC或3层的命题(我实际上认为你意味着分层,而不是分层[更多地涉及功能/服务的物理分离])完全是一个没有实际意义的因为它们正在融合,而是比不同的技术.

希望这会有所帮助 - 我将尝试通过谷歌先生今天采购一些例子来举例说明我的方法的完整性.

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

MVC对n层架构

简而言之,一个是对象/ API设计,一个是系统架构; 两者都可以幸福地生活在一起.