加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – MVC – 是模型查看还是控制器查看?

发布时间:2020-12-16 00:25:08 所属栏目:asp.Net 来源:网络整理
导读:我看到许多网站和文章解释了视图从模型更新,如下面的示例 然而,我看到一些MVC架构的其他示例,显示该视图通过控制器更新 这取决于你是否有@Model进入你的意见?我只是想知道为什么不同版本的MVC,我们被教导它应该是第二个图像。 解决方法 MVC是一种松散定
我看到许多网站和文章解释了视图从模型更新,如下面的示例
然而,我看到一些MVC架构的其他示例,显示该视图通过控制器更新

这取决于你是否有@Model进入你的意见?我只是想知道为什么不同版本的MVC,我们被教导它应该是第二个图像。

解决方法

MVC是一种松散定义的模式,可以让架构师对实现细节有更多的决定权。这可能是为什么存在MVC的许多变体。

据我所知,这一切都从经典(原创)MVC开始,将MVC分为三个部分,即模型,视图和控制器。目标是:

>实现模型和视图之间的松散耦合(观察者模式
用于实现它)。
>将业务逻辑封装到模型中,使其可以是穷尽的
测试。
>使视图尽可能笨拙/薄,以减少测试需要。

这种模式魅力如此之多,有几种变化(活动模型,被动模型,模型2)。这些变化是由于在特定框架中实现模式以适应框架的设计目标。

例如,一个变体是Model2。 Model2是一个Web变体(Classic MVC实际上是面向桌面应用程序),并被流行为“ASP.NET MVC框架”。

经典MVC和ASP.NET MVC框架的关键区别在于后者提供了模型和视图之间的整洁分隔,即无直接交互。而控制器负责在ASP.NET MVC框架中促进Model和View之间的这种沟通。这使得ASP.NET MVC Framework Web应用程序变得更加容易有效测试。

此外,在Model2中,可以在视图和控制器之间建立一种宽松的合同。在ASP.NET MVC框架中,此合同过去由ViewData容器对象表示,现在使用ViewModel对象。

为了避免混淆,我们需要考察当前使用的MVC模式实现中这三个部分(Model,View& Controller)之间的交互。还包含一个事实,即它是MVC模式的特定实现,一个图可能无法完全描述。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读