描述
我正在处理一个有近 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 制作一个适配器?
我希望描述、示例和问题有意义