标签列表
正确使用MVC设计模式
model-view-controller
6
6
我遇到了以下两种方法。
方法1:
方法2:
据我理解,模型和视图不应直接通信,所有通信都应通过控制器进行,因此方法1是正确的方式。但我在网上看到过各种文章介绍这两种方法。
如何正确实现MVC架构?
谢谢。
-
Janak
2
1
你可以在
CS StackExchange
上获得更好的回应(可能也可能不会)。
- adamdc78
你对MVC的误解可能源于你接触过ASP.NET MVC框架(最初是Rails的克隆)。所有类似Rails的架构都源于
页面控制器
概念的简化版本(这已经是一个极端简化的设计,适用于Web,大约在2000年左右)。但是,回答你的问题:这两个图表都不代表MVC。箭头都是错误的。
- tereško
1
个回答
2
2
我认为第一个图表实际上是MVP(模型视图控制器)的一个实现。请参见
此问题
,最终链接到
这里
,其中包含一个被动视图的VMP模式的图表:
-
radai
4
我查看了那个堆栈问题中提供的答案;在所给的MVC解释中,他没有解释Model,但是已经说明了“关于MVC的另一个重要区别是View不直接绑定到Model”。
- Janak
你可能还应该链接到
原始论文
,它实际上定义了 MVP。
- tereško
@Janak,你很少看到有人试图解释模型,因为即使是基本描述也需要几页纸。而要做好这件事,你最终会写一整本书。嗯...有人可能会争辩说,有些人已经写了:
poeaa
和
ddd
书籍。
- tereško
@Janak - 对我而言,Model 是最直观的组件。它是代表问题域的对象。所以如果我要编写一个动物园应用程序,它就会成为 Animal 类(或结构体,这取决于语言)。它是领域模型类,保存数据并支持某种事件注册机制,以通知侦听器有关此数据更改的信息。
- radai
回答链接
网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接
相关问题
7
MVC项目的正确设计
129
MVC是设计模式还是架构模式?
43
了解MVC设计模式
7
使用MVC设计模式编写.NET桌面应用程序
6
多窗口设计的MVC模式
4
MVC设计模式
12
MVC存储库模式设计决策
3
传统的MVC设计模式
5
MVC设计模式的模型逻辑
5
使用类似于MVC的设计模式与SwiftUI