Open undefinedYu opened 5 years ago
这篇文章整合了许多不同书和百科对 MVC, MVP, MVVM 的解释,并消除了歧义。 大家可以看看:浅谈 MVC、MVP 和 MVVM 架构模式
MVC:数据模型M+视图V+控制器C,V->C->M->V,数据变化直接影响视图。 MVP:V->P->M, M->P->V,P相对于MVC中的C会显得更加臃肿。 MVVM:将MVP中的P里面的数据变更,更新DOM的代码通过数据和视图的绑定独立出来,将MVP里的P精简化、让开发者侧重于业务逻辑。VUE便是参考MVVM模式。
MVC(Model-View-Controller)、MVP(Model-View-Presenter)和 MVVM(Model-View-ViewModel)是常见的软件架构模式,用于组织和管理应用程序的代码结构。它们都旨在将应用程序的不同部分分离,以实现松耦合、可维护和可扩展的代码结构。
Model(模型):负责处理数据和业务逻辑。 View(视图):负责展示数据给用户,并处理用户的输入。 Controller(控制器):负责接受用户的输入,处理请求,并更新模型和视图。 在 MVC 模式中,视图和模型之间通过控制器进行通信,控制器负责处理用户的输入、更新模型和决定如何更新视图。这种模式将应用程序的逻辑分离成三个不同的组件,以实现解耦和重用性。
Model(模型):负责处理数据和业务逻辑。 View(视图):负责展示数据给用户,并处理用户的输入。 Presenter(表示器):负责处理用户输入、更新模型和更新视图。
Model(模型):负责处理数据和业务逻辑。 View(视图):负责展示数据给用户,并处理用户的输入。 ViewModel(视图模型):作为视图和模型之间的中间层,负责处理视图的显示逻辑和用户的输入,并将数据更新反映到模型。 在 MVVM 模式中,视图通过数据绑定将视图和视图模型进行绑定,当视图模型的数据发生变化时,视图会自动更新。视图模型通过暴露数据和命令来供视图绑定和交互。这种模式实现了视图和数据的解耦,提供了更简洁和可测试的代码结构。
VC、MVP 和 MVVM 是用于组织应用程序代码的常见模式。它们的核心目标都是实现代码的解耦、可维护性和可测试性,但在具体的实现和应用上存在一些区别。选择适合的模式取决于项目需求和开发团队的偏好。
[vue] 说说你对MVC、MVP、MVVM模式的理解