Mik*_*ike 13 language-agnostic architecture model-view-controller layer
我本来打算把它作为一个更长的问题,但我觉得我做得越短越好,你就会越明白我的意思.
MVC架构模式有3个依赖项.视图取决于模型.Controller取决于视图和模型.该模型是独立的.
图层架构模式定义了N-1个依赖关系,其中N是层数.
给定三个层:模型,视图和控制器,只有2个依赖项,而传统的MVC只有3个.结构如下所示:
View ---> Controller ---> Model
Run Code Online (Sandbox Code Playgroud)
[视图取决于控制器,控制器取决于型号]
在我看来,这种风格实现了相同的目标,并产生更松散的耦合.为什么这种风格不常见?它真的实现了同样的目标吗?
编辑:不是ASP.NET MVC,只是模式.
关于格里格斯的帖子:
gri*_*egs 16
因为您将接口与控制器分离,使更改更容易.
还要考虑需要开始项目的场景,但是艺术作品将在几周或几个月内没有准备好.您是等待还是编写页面所需的所有代码,然后将视图连接到控制器.
至少那是我们所做的,我们节省了几个月.
此外,它使UI更改更容易应对,因为我们的aspx页面中没有任何代码可以做任何事情.
我们的测试也更好,因为我们可以模拟任何东西,包括按钮点击等.
如果你在谈论asp.net-mvc框架,那么aspx文件中没有代码,也没有viewstate等.
我已经很久没有回过头来了,主要是因为我还在思考。我对收到的答案不满意,他们没有真正回答我的问题。
最近,一位教授确实引导我走向了正确的方向。本质上,他告诉我这一点:将模型、视图和控制器分开的层就是MVC。在普通的 MVC 架构模式中,通常不使用视图与模型之间的依赖关系,并且实际上最终会得到层。想法是一样的,只是命名不好。