android架构-为什么要创建单一的实现接口?

4xrmg8kj  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(379)

我已经做了3年的android开发人员,我一直想知道为什么要为应用程序架构创建单一实现的界面,比如:

interface SomethingRemote {
   fun fetchSomething(): Single<SomethingEntity>
}

然后,实施:

class SomethingRemoteImpl(private val service: apiService): SomethingRemote {
   override fun fetchSomething() {
      // Does some logic with the service class to return the specified class defined in the interface
   }
}

我一直在关注google的sunflower存储库,从阅读到在我的前两个项目中实现它,实现新功能或进行更改是sunflower的repo架构的一件轻而易举的事,但是,我还参与过一些其他项目,这些项目完成了interface<->interfaceimpl的工作,还向层添加了更多类:
实体
viewmodel(不要与googleviewmodel混淆,这只是从模型类Map的ui数据)
远程<->remoteimpl
数据源<->数据源IMPL
存储库<->repositoryimpl
所有这些文件和单个实现的接口使得添加新特性或更改简单的内容(例如从api请求中修改json属性值)变得非常混乱,我见过很多项目这样做,我不明白为什么要这样做,当使用sunflower中所示的体系结构时,这样做比较容易混淆,而且更“切中要害”,我想知道这样做的好处是什么。
我个人反对“impl”后缀。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题