MVVM与MVC
MVVM
是什么?
MVVM模式:就是Model-View-ViewModel模式的简写。
Model:对应数据层的域模型,主要做域模型的同步。通过Ajax等完成客户端和服务端业务 model的同步,在层间关系里,它主要用于抽象出ViewModel中视图的Model。
View:作为视模板存在,在MVVM里,整个View是一个动态模板。它展示的是ViewModel层的数据和状态。View做的是数据绑定的声明、指令的声明和事件绑定的声明。
ViewModel:把View需要的数据暴露,处理View层的具体业务逻辑。当ViewModel中的数据发生变化,View层会得到更新;而当View中声明了双向绑定后,View中绑定的值发生变化后ViewModel 中的数据也会自动更新。
优缺点
优点
1.双向绑定技术,当Model变化时,View-Model会自动更新,View也会自动发生变化。
2.View的功能进一步强化,具有控制的部分功能。
3.不用再为看到庞大的控制器逻辑发愁。
缺点
1.数据绑定使Bug难调,看到界面异常后,可能是View有Bug;也可能是Model代码出了问题。
2.一个大模块中Model也会很大,虽然方便使用也容易保证数据一致性,但长期持有不释放内存就会花费更多内存。
3.双向数据绑定不利于代码重用。
MVC
是什么?
MVC:MVC是一种框架模式,它采用模型(Model)-视图(View)-控制器(Controller)的方法把业务逻辑、数据和界面分离。MVC的理念就是把数据处理、数据展示和程序/用户的交互三者分离的一种编程模式。
优缺点
优点
1.多个视图共享一个模型,大大提高了代码的可重用性。
2.三个模块相互独立,改变其中一个不会影响其他两个。
3.控制器提高了应用程序的灵活性和可控制性。
缺点
1.增加了系统结构和实现的复杂性。
2.视图与控制器过于紧密连接。
3.视图与模型的低效率访问。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?