什么是MVC和MVVM,两个例子读懂它们!

MVC:Model、View、Controller

M:数据层,V:视图层,C:负责数据和视图交互的控制层

他们是如何工作的?

举例子:C是老板,M是一堆文件,V是展示这些文件的展台,老板( C )负责自己处理这些文件(M)如何展示到展台(V)

MVVM:Model、View、ViewModel。

M:数据层,V:视图层,VM:数据视图交互的工具(封装了交互的规,方法)

举例子:C还是老板(不过现在角色不是很重要,只负责发布命令),M是一堆文件,V是展示这些文件的展台,老板觉得自己展示很累,就使用了一个工具(VM),这个工具很强大,封装了各种规则来展示文件(M),而且只要文件改变,VM会自动把文件(M)更新到展台(V)上面。

总结:在MVVM中,Controller不再像MVC那样直接持有Model了。想象Controller是一个Boss,数据是一堆文件(Model),如果现在是MVC,那么数据解析(比如整理文件)需要由Boss亲自完成,然而实际上Boss需要的仅仅是整理好的文件而不是那一堆乱七八糟的整理前的文件。所以Boss招聘了一个秘书,现在Boss就不再需要管理原始数据(整理之前的文件)了,他只需要去找秘书:你帮我把文件整理好后给我。

你可能感兴趣的:(vue2.0,vue3,mvc,mvvm,vue,react)