首页 > 解决方案 > 我应该在哪里做映射?如何在存储库上进行映射?数据源还是存储库?

问题描述

我正在实现一个干净的架构设计:ui -> domain <- data 在模块中(这很重要),我遇到了麻烦。

我有存储库和数据源。我在域模块中创建存储库和数据源接口

DataSource:在数据模块(实体、远程)中添加返回数据模型的函数

存储库:调用数据源并映射到域对象。

现在我面临一个问题。如果我想在存储库上进行映射,我该如何在不知道数据模型的情况下进行,这似乎是不可能的,为了在存储库上进行映射,我需要知道存在什么样的数据模型。

我不想在 DataSource 上进行映射,因为提供原始数据(数据模型)是它的责任

我应该在这里做什么?我错过了什么或不理解什么?

标签: domain-driven-designandroid-architecture

解决方案


在domain 模块中设置 repository 接口,在data 模块中设置 DataSource 接口。

这样我就可以进行这种映射,因为 Repository 和 DataSource 的实现都在数据模块中。现在DataSource可以返回它的数据模型


推荐阅读