gpt4 book ai didi

java - 在 MVC 模式中,模型可以交互/修改 View 吗?

转载 作者:行者123 更新时间:2023-12-04 17:20:36 24 4
gpt4 key购买 nike

MVC 模式组件交互在 Wikipedia 上是这样描述的:

The model is responsible for managing the data of the application. It receives user input from the controller. The view means presentation of the model in a particular format. The controller responds to the user input and performs interactions on the data model objects. The controller receives the input, optionally validates it and then passes the input to the model.



我了解 View 不应与模型交互。但是在我在网上找到的大多数图表中,MVC 是这样表示的:

enter image description here

我们可以看到型号 与 View 交互并能够对其进行修改,这没有任何意义。
不是吗?型号 更新 Controller ,更新 查看 ?

我错过了什么?

最佳答案

MVC 架构创建于 1970 年代。显然当时没有互联网。在原始版本中,Model 通过数据绑定(bind)直接更新 View,也称为发布/订阅,也称为观察者模式。

Gang of Four Design Patterns 这本书详细描述了这种 MVC 架构。那本书的一些引述在另一个答案here .

MVC 架构非常流行,当互联网出现时,开发人员希望继续使用它;但它不适合客户端/服务器应用程序。因此诞生了“WebMVC”,这是您今天最常见的版本。 WebMVC 通常被实现为分层架构,而原来的架构并非如此。

当这两种架构混为一谈时,就会出现困惑。通常两者都简称为 MVC。更糟糕的是,MVP、MVVM等相关架构都可以称为MVC。

就个人而言,我觉得桌面 MVC 和 Web MVC 之间的关系有点像 Java 和 JavaScript 之间的关系。后者捎带了前者的著名名称,以实现明显不同的东西。

相关:Is it MVC when the view doesn't interact with the model?

关于java - 在 MVC 模式中,模型可以交互/修改 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53703012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com