Skip to content

Commit 6cc8567

Browse files
committed
Update public notes
1 parent c65b325 commit 6cc8567

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

content/编程相关/编程语言/MVC MVP MVVM.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ MVVM则是MVP基础上将逻辑和界面紧紧联系(通过双向绑定来实
1212

1313
许多人写的MVC等其实不算标准,也没法分类是MVC MVP 还是MVVM,但是那些架构能跟这三个沾边,基本上都遵循了界面逻辑数据三分代码的思路。
1414

15+
> [!TIP]
16+
> MVC、MVP、MVVM 的最后一个也就是 Controller、Presenter、ViewModel 其实在三个框架中位置是相似的、作用相同的,所以本文说的 Controller 基本涵盖了另外两个.
17+
1518
## Model
1619

1720
模型一般就是经典的数据类。此外类的方法还可能提供了数据的计算办法。
@@ -30,4 +33,22 @@ MVVM则是MVP基础上将逻辑和界面紧紧联系(通过双向绑定来实
3033

3134
核心点在于 **只关心如何使用数据。**
3235

33-
某种意义上,控制器给视图呈现数据也是一种操作,所以在一些结构中也有控制器传数据给视图进行显示的操作。
36+
某种意义上,控制器给视图呈现数据也是一种操作,所以在一些结构中也有控制器传数据给视图进行显示的操作。
37+
38+
## 各种架构的细节
39+
40+
### MVC
41+
42+
MVC 是 View 监听 Model 变化,并且 View 调用 Controller 对 Model 进行操作。(经典 MVC)
43+
44+
另一种 MVC 是 Controller 操作 Model 之后,依然使用 Controller 更新 View。
45+
46+
### MVP
47+
48+
MVP (Presenter) 是让 Presenter 同时操作 View 和 Model。
49+
50+
### MVVM
51+
52+
ViewModel 数据绑定了,用框架自动更新 View 和 Model 的数据。
53+
54+
*比起另外两者,MVVM 双向绑定很强大,但是手搓也挺复杂的感觉。回头有空我写写试试再评价。*

0 commit comments

Comments
 (0)