【发布时间】:2018-11-12 08:03:28
【问题描述】:
说明
我正在处理一个已有近 40 年历史的项目,其中包含大量遗留代码。多年来,添加了多个数据库。现在我正在逐步将其转换为带有端口和适配器的六边形架构。
到目前为止,我总是为每个数据库创建 1 个适配器。但是使用这段代码这样做会给我在我的域中我的数据库结构的表示(我不想要)。
示例
如果我的域中有一个 Product 对象,看起来像这样:
public class product()
{
public decimal Price {get; set;}
public string Description {get; set;}
public string Name {get; set;}
}
在这种情况下,价格可能来自数据库 1,描述表来自数据库 2,名称来自数据库 3。所有这些都由唯一代码链接。
问题
如何在六边形架构中做到这一点?我应该:
使用多个存储库制作 1 个 productAdapter(每个数据库 1 个)
为每个数据库制作一个适配器并将所有内容合并到 我的域(它提供了与我的域相关的域代码 数据库结构)
为每个数据库制作一个适配器和一个调用数据库适配器的productAdapter?
我希望描述、示例和问题有意义
【问题讨论】:
标签: c# adapter hexagonal-architecture