我原本打算把这个问题写得更长,但我觉得我写得越短,你就越能理解我的意思。
MVC 架构模式有 3 个依赖项。视图取决于模型。控制器依赖于视图和模型。模型是独立的。
层架构模式定义了 N - 1 个依赖项,其中 N 是层数。
给定三个层:模型、视图和控制器,只有 2 个依赖项,而传统 MVC 则为 3 个。结构如下所示:
View ---> Controller ---> Model
【View依赖Controller,Controller依赖Model】
在我看来,这种风格实现了相同的目标并产生了更松散的耦合。为什么这种风格不常见?它真的实现了同样的目标吗?
编辑:不是 ASP.NET MVC,只是模式。
关于格里格斯的帖子:
- 就模拟而言,Layers 仍然允许您使用命令处理器模式来模拟按钮单击以及任何其他范围的事件。
- UI 更改仍然非常容易,甚至可能更容易。在 MVC 中,Controller 和 View 倾向于网格在一起。层创建了严格的分离。两个层都是黑盒子,在实现中可以自由地独立变化。
- Controller 对 View 的依赖为 0。视图可以写,松耦合仍然可以节省时间。