wp4*_*p42 2 java model-view-controller design-patterns software-design
在维基百科上以这种方式描述MVC模式组件交互:
该模型负责管理应用程序的数据.它从控制器接收用户输入.视图意味着以特定格式呈现模型.控制器响应用户输入并对数据模型对象执行交互.控制器接收输入,可选地验证它,然后将输入传递给模型.
我知道View应该无法与Model交互.但是在我在网上找到的大多数图表中,MVC表示如下:
我们可以看到Model 确实 与View交互并且能够修改它,并且它没有意义.模型是否更新Controller,更新View?
我错过了什么?
MVC架构创建于20世纪70年代.显然当时没有互联网.在原始版本中,模型直接通过数据绑定更新View ,也称为发布/订阅,也称为观察者模式.
Gang of Four Design Patterns一书详细描述了这个MVC架构.这本书的几个引用在这里是另一个答案.
MVC架构非常受欢迎,当互联网出现时,开发人员希望继续使用它; 但它并不适合客户端/服务器应用程序.因此诞生了"WebMVC",这是你今天最常见的版本.WebMVC通常实现为分层体系结构,而原始设计不是.
当两个架构混合在一起时,就会出现混乱.通常两者都简称为MVC.更糟糕的是,诸如MVP和MVVM之类的相关架构可以称为MVC.
就个人而言,我发现桌面MVC和Web MVC之间的关系有点像Java和JavaScript之间的关系.后者捎带着前者的着名名称,以实现一些显着不同的东西.
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |