Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为视图模型使用界面?_Android_Design Patterns_Interface_Android Architecture Components_Android Viewmodel - Fatal编程技术网

Android 为视图模型使用界面?

Android 为视图模型使用界面?,android,design-patterns,interface,android-architecture-components,android-viewmodel,Android,Design Patterns,Interface,Android Architecture Components,Android Viewmodel,根据官方文档和谷歌提供的示例应用程序(sunflower和todo应用程序),我目前正在将架构组件集成到我的应用程序中。我意识到这些都没有为ViewModels使用接口(sunflower应用程序甚至没有为存储库使用接口) 我的问题是:省略ViewModels的接口(包括优点和缺点)是否合理 省略ViewModels的接口是否合理 以下内容非常通用,不仅适用于ViewModels 优势: 更少的代码 缺点: 无法使用大多数著名的设计模式 无法正确地进行单元测试类(无模拟) 无法正确使用依赖

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

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

省略ViewModels的接口是否合理

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

优势

  • 更少的代码
缺点

  • 无法使用大多数著名的设计模式
  • 无法正确地进行单元测试类(无模拟)
  • 无法正确使用依赖注入框架
  • 使用其他具体实现时的代码重构

我知道这不是问题的一部分,但命名这样一个接口的最佳方式是什么?假设我有一个TasksViewModel类,并希望为它创建一个接口it@Doflaminhgo,按照开发人员使用的命名约定,您可以为接口调用1)
TasksViewModel
,为具体实现调用
TasksViewModel
,为接口调用2)
ITasksViewModel
,为具体实现调用
TasksViewModel
。真的只是口味的问题。