gpt4 book ai didi

android - 整洁架构中的服务

转载 作者:行者123 更新时间:2023-12-05 02:26:01 25 4
gpt4 key购买 nike

Service(或BroadcastReceiver 等)在整洁的架构包结构中属于哪里?我想知道域和数据层之间...我会在 domain 包中创建名为 services 的新包。是这样吗,还是我应该换一种方式?

最佳答案

在考虑整洁的架构时,您应该想到 Android Service与任何其他 Android 应用程序组件(如 Activity)类似例如。

ServiceActivity两者都可以做类似的事情,如播放音乐、执行网络请求等,一个区别是在 Service 的情况下缺少用户界面。 (尽管可以将 Notification 视为 Service 的 UI)。起初,缺少 UI 可能会产生误导。

考虑到这些应用程序组件的相似用途,我们可以想象 ServiceActivity可以位于clean architecture项目的同一层。

首先我不会选择 data层,因为它是您的数据源(在 domain 层中定义的抽象的具体实现)的地方,例如 Web API 或数据库 Controller 。有人会争辩说 Service在某种程度上是应用程序的数据源,因为您可以绑定(bind)到它并从后台获取数据,但是如果您查看ActivitiesFragments您会注意到它们也可以是其他 Activities 的数据源通过使用 Intent s 或参数。

我不会选择 domain包 - 它应该包含应用程序业务逻辑的定义 - 存储库的接口(interface)等。此外,这一层应该是平台无关的,所以没有Android组件应该在那里。 Service绝对不属于那里。

app (或 presentation )层被留下。这是一个 Android 特定的 层 - 这是 Service 的地方. Service可以直接与邻居沟通domain层通过可以传递给绑定(bind)的用例访问数据 Activity , 显示 Notification与数据或其他任何东西。所有这一切都没有违反整洁的架构规则。

关于android - 整洁架构中的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74068503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com