我一直在尝试理解这种新型架构,其名称可以是 Onion 架构、Clean 架构、端口和适配器等。
如果我采用端口和适配器的抽象,当我为特定端口调整我的应用程序时,我可以从我的应用程序内部给端口一个实体吗?还是我总是应该调整实体以适应端口?
例子:
假设我有一个客户实体。我有一个使用我的应用程序的 UI。我的 UI 通过适配器调用 getCustomerById(123)。反过来,我的适配器将调用我的应用程序,使用注入的存储库有效地检索客户,并将对其执行某种格式化和日志记录,一旦客户准备好,它就会返回到我的 UI。我的问题是,我的 Customer 对象按原样返回到我的 UI。这意味着我的 UI 引用了我的 Core 项目中的 Customer 类。然后我的 UI 继续使用该客户对象来做事,可能会更改它的名称等,并最终再次调用适配器来更新客户(客户)。
这可以吗?我的 UI 可以在我的应用程序核心内部使用 Customer 类吗?或者我应该改为让我的客户适应一个新的客户对象,比如 UICustomer 并让我的 UI 使用它,在适配器级别在客户和 UICustomer 之间来回映射?