【问题标题】:Why to use MVVM instead of MVC in android [closed]为什么在android中使用MVVM而不是MVC [关闭]
【发布时间】:2019-11-08 05:57:17
【问题描述】:

我所知道的

  • 我在 Android 上使用 MVC 已经有一段时间了
  • 现在我正在学习带有数据绑定的 MVVM
  • 我知道两者之间的架构差异

问题

  • MVVM 的使用对 MVC 有何好处
  • 在自动化单元的 MVVM 中使用 ViewModel 有什么优势吗 测试
  • 与 MVC 相比,我们在 MVVM 中编写了更多代码来执行类似的任务。 那有什么优势
  • 我什么时候需要选择 mvc 而不是 mvvm & visversa

【问题讨论】:

  • 问题太宽泛了。选择架构是否完整取决于要求。没有人强迫你使用任何模式.. 这只是一种趋势......我建议你单独阅读它们,然后弄清楚..我相信在这个特定的比较中有很多可用的博客。

标签: android mvvm android-databinding


【解决方案1】:

MVC(模型视图控制器)

我认为这是软件开发中使用最广泛的方法。模型视图控制器由三个主要组件组成,整个架构都围绕着它们旋转。

View:- 该组件直接与用户交互并负责用户如何查看我们的应用程序。在 MVC 中,Xml 被视为视图。

Model:- 模型是应用程序的数据源,主要业务逻辑在这里定义,它包含在应用程序中使用并显示给用户的数据对象。数据源可以是Web、本地数据库(sqlite)等。

Controller:- 这是MVC模式的重要部分,Controller是操作、编辑、使用数据模型并通过View向用户展示的组件。控制器负责收集所有数据并充当模型和视图之间的中间人。 Activity/Fragments 在 Android 中被认为是控制器。

MVVM(模型视图视图-模型)

Model View View-Model 是在去年的 Google I/O 中引入的。这种架构计划因其提供的功能而变得流行。它主要实现数据绑定框架,它允许将视图“绑定”到任意对象上的字段。更新字段时,会通知框架并自动更新视图。该架构在其组件之间引入了双向通信。除了绑定、自动更新视图等功能外,还便于测试。模型和视图的功能与我们在 MVP 中讨论的相同。

View-Model :- 它负责公开方法、命令和其他有助于维护视图状态的属性,将模型作为视图上的操作的结果来操作,并在视图本身中触发事件。 View 引用了 View-Model,但 View-Model 没有关于 View 的信息。View 和 View-Model 之间存在多对一的关系,这意味着可以将多个 View 映射到一个 View-Model。它完全独立于 Views。

MVVM 是 Android 应用开发的最佳架构。您可以通过下表了解更多信息。

【讨论】:

  • 说得很好。
猜你喜欢
  • 2015-04-07
  • 1970-01-01
  • 2015-06-03
  • 2015-04-26
  • 2011-07-08
  • 2015-12-04
  • 2020-12-04
相关资源
最近更新 更多