什么是 MVVM?
Posted: Sat Apr 19, 2025 6:14 am
首先,让我们考虑一下这个模板的经典描述并分析它的每个组件。 模型-视图-视图模型 (即 MVVM )是一种客户端应用程序架构模板,由 John Gossman 提出,作为使用数据绑定技术时 MVC 和 MVP 模式的替代方案。其概念是将数据表示逻辑 与 业务逻辑分开, 将它们移到特定的类中以便进行明确区分。
那么,标题中的三个部分分别代表什么意思呢?
模型是与应用程序数据相关的逻辑。
换句话说,这些是 POJO、API 处理类、数据库等等。
实际视图是屏幕布局,它包含所有用于显示信息的小部件。
ViewModel 是一个描述 View 依赖于 Model 的工作的逻辑行为的对象。您可以 日本电报号码数据 将 其称为视图行为模型 。这可以是富文本格式以及组件可见性控制逻辑或条件显示,例如加载、错误、黑屏等。此外,它还描述用户发起的行为(文本输入、按键、滑动等)。
对我们来说结果如何?
开发灵活性。 这种方式增加了团队合作的便利性,因为当一个团队成员进行布局和屏幕布局时,另一个成员同时解释数据采集和数据处理的逻辑;
测试。 这种结构简化了编写测试和创建模拟对象的过程。此外,在许多情况下,这消除了自动化 UI 测试的需要,因为您可以将 ViewModel 本身与单元测试结合起来;
逻辑分离。 因为更大的差异化代码变得更加灵活和更容易支持,更不用说可读性了。每个模块只负责特定的功能。
由于没有什么是完美的,因此存在一些缺点:
对于小型项目来说,这种方法是不合理的。
如果数据绑定逻辑太复杂,应用程序调试过程将会更加困难。
那么,标题中的三个部分分别代表什么意思呢?
模型是与应用程序数据相关的逻辑。
换句话说,这些是 POJO、API 处理类、数据库等等。
实际视图是屏幕布局,它包含所有用于显示信息的小部件。
ViewModel 是一个描述 View 依赖于 Model 的工作的逻辑行为的对象。您可以 日本电报号码数据 将 其称为视图行为模型 。这可以是富文本格式以及组件可见性控制逻辑或条件显示,例如加载、错误、黑屏等。此外,它还描述用户发起的行为(文本输入、按键、滑动等)。
对我们来说结果如何?
开发灵活性。 这种方式增加了团队合作的便利性,因为当一个团队成员进行布局和屏幕布局时,另一个成员同时解释数据采集和数据处理的逻辑;
测试。 这种结构简化了编写测试和创建模拟对象的过程。此外,在许多情况下,这消除了自动化 UI 测试的需要,因为您可以将 ViewModel 本身与单元测试结合起来;
逻辑分离。 因为更大的差异化代码变得更加灵活和更容易支持,更不用说可读性了。每个模块只负责特定的功能。
由于没有什么是完美的,因此存在一些缺点:
对于小型项目来说,这种方法是不合理的。
如果数据绑定逻辑太复杂,应用程序调试过程将会更加困难。