asp.net mvc 中的观察者模式角色

Observer pattern role in asp.net mvc

Asp.netMvc中的MVC模式实现是不是使用了观察者模式?

我见过的大多数 MVC 模式定义(如在四本书或 Wikipedia 中)都声明模型 "notifies" 有关更改的相关视图。但是,我相信这不是它在 Asp.net Mvc 中的工作方式。这是正确的吗?

出于好奇,我已经完成了桌面应用程序的 MVC 概念验证,在模型上实现事件并让视图监听这些事件以进行更改是很自然的。

简短的回答是,不,它没有实现观察者模式。 这是因为 HTTP 协议的无状态特性。当服务器中的模型出于某种原因修改其状态时,客户端(例如浏览器)将永远不会收到此更新的通知,除非您再次向服务器请求更改。 在桌面应用程序中,情况有所不同,因为视图(组件)会收到有关观察模型更改的通知。