android - 如果数据层实现依赖于平台,它们是否应该在数据层内部?
问题描述
假设我们有以下图表。LocalStorage
即使取决于平台,也应该在数据层中?我们是否应该有一个名为 example 的单独模块data-android
,它具有这些类型的实现?
编辑:也许实际上正确的做法是将Repository
andILocalStorage
移到域层,因为它们只包含业务逻辑。这大概就是这个误会的来源。这样,只需实施合同,数据层就可以轻松替换。
解决方案
编辑:也许实际上正确的做法是将 Repository 和 ILocalStorage 移动到域层,因为它们只包含业务逻辑。这大概就是这个误会的来源。这样,只需实施合同,数据层就可以轻松替换。
我完全同意这一点,您ILocalStorasge
应该退出实现并且您的存储库只需要知道正在使用 ILocalStorage 并且可以肯定可以调用接口规范的某些方法。
使用此逻辑,您可以拥有多个 LocalStorage 实现,针对不同平台使用不同的技术。
推荐阅读
- excel - 我的 Vlookup 公式有问题吗?
- python - 使 new-alias 运行特定的 python 文件
- c - bash - 像 C 一样的函数声明?
- c# - 通过 web api 上传文件,文件以 byte[] 形式发送
- powershell - AzureDevOps Powershell 任务命令行参数未在 Powershell 脚本中正确呈现
- network-programming - ESP32 全 WiFi 网状网络
- c# - 如何取消 _doPostBack
- linker - 为什么不能将 R_X86_64_PC32 与共享库一起使用
- c# - 如何在 ASP.NET MVC 中添加下拉列表
- php - PHP 将我的函数视为未定义(oop)给出致命错误