首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓清洁架构UseCase

安卓清洁架构UseCase
EN

Stack Overflow用户
提问于 2022-05-11 09:30:24
回答 1查看 1.1K关注 0票数 1

我正在开发一个简单的应用程序。

  1. 用户通过RecyclerView的元素导航到最终屏幕。当将LastFragment滚动到片段的最底部时,SharedPref将状态保存为true。然后下一个元素变成available.
  2. LastFragment,它有一个按钮,点击时播放声音,我正试图按照干净的体系结构和

的原则构建一个应用程序

我不明白UseCase在哪里。你能向我解释一下这里应该使用哪种UseCase吗?

EN

回答 1

Stack Overflow用户

发布于 2022-05-18 13:09:06

你需要有这样的东西:

PersistEndWasReachedUseCase

或者您喜欢的任何名称都将称为:"SaveToSharePrefs“逻辑。

它们应该是域层的一部分:

https://developer.android.com/topic/architecture/domain-layer

但与此同时,你需要保持干净。这意味着您的逻辑不应该知道它在哪里保存状态。它可能是DB、SharePrefs、远程服务器等。

这就是为什么您应该使用存储库模式:

https://developer.android.com/codelabs/basic-android-kotlin-training-repository-pattern#0

https://www.raywenderlich.com/24509368-repository-pattern-with-jetpack-compose

因此,您还需要有一个数据层:

https://developer.android.com/topic/architecture/data-layer

但长话短说--清洁意味着什么--你把你的业务逻辑放在了内层。它们依赖于在这些层中声明的接口。然后外部层实现这些接口。

基本上这是控制的倒置。检查实心。

https://miro.medium.com/max/1400/1*B4LEEv0PbmqvYolUH-mCzw.png

根据图像-您推送实现的细节:房间,SharedPrefs等在外层。内部层是纯Kotlin/Java代码。它对实现细节一无所知--它们被接口所隐藏。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72198638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档