使用 ViewModel 的接口?

Dof*_*hgo 4 android design-patterns interface android-viewmodel android-architecture-components

我目前正在根据官方文档和谷歌提供的示例应用程序(向日葵和 todo-app)将架构组件集成到我的应用程序中。我意识到这些都没有使用ViewModel接口(向日葵应用程序甚至不使用存储库接口)。

我的问题是:省略ViewModels的接口是否合理(包括优点和缺点)?

Oni*_*nik 5

省略ViewModels的接口是否合理?

以下内容非常通用,不仅适用于ViewModels

优点

  • 更少的代码

缺点

  • 将无法使用大多数众所周知的设计模式;
  • 将无法正确地对类进行单元测试(无模拟);
  • 将无法正确使用依赖注入框架;
  • 使用另一个具体实现时的代码重构。

  • @Doflaminhgo,按照开发人员使用的命名约定,您可以将它们称为 1) `TasksViewModel` 用于接口,`TasksViewModelImpl` 用于具体实现或 2) `ITasksViewModel` 用于接口,`TasksViewModel` 用于具体实现。真的只是口味问题。 (2认同)