首页 > 解决方案 > 如果数据层实现依赖于平台,它们是否应该在数据层内部?

问题描述

假设我们有以下图表。LocalStorage即使取决于平台,也应该在数据层中?我们是否应该有一个名为 example 的单独模块data-android,它具有这些类型的实现?

编辑:也许实际上正确的做法是将RepositoryandILocalStorage移到域层,因为它们只包含业务逻辑。这大概就是这个误会的来源。这样,只需实施合同,数据层就可以轻松替换。

在此处输入图像描述

标签: androidclean-architecture

解决方案


编辑:也许实际上正确的做法是将 Repository 和 ILocalStorage 移动到域层,因为它们只包含业务逻辑。这大概就是这个误会的来源。这样,只需实施合同,数据层就可以轻松替换。

我完全同意这一点,您ILocalStorasge应该退出实现并且您的存储库只需要知道正在使用 ILocalStorage 并且可以肯定可以调用接口规范的某些方法。

使用此逻辑,您可以拥有多个 LocalStorage 实现,针对不同平台使用不同的技术。


推荐阅读