我们正在开发基于DDD的系统。对于该系统中的特定模块(发布者),我们将从其他对象接收数据并对其执行转换,然后写出数据文件。
正在开发的DDD设计有许多用于数据的自定义集合类...所有这些对象只包含数据行,但它们具有不同的类和属性名称。处理这种情况是否有良好的策略或模式?即一种将相同逻辑应用于所有这些对象的方法。
更多细节:例如,我们可能有一个包含Data123Row对象集合的DataType123类。然后是一个包含Data456Row对象集合的Data456类。假设有15个这样的不同对象。由于DDD的想法,它们具有基于域的名称,但它们实际上或多或少都是表格数据,即行和列。我们正在尝试创建一个可以对它们进行相同处理的通用服务,即使它们在技术上是不同的类。
答案 0 :(得分:1)
猜测,看起来服务(DDD)和适配器(GoF)模式将是一个很好的起点。
由于数据转换不是以域为中心的活动,请通过服务(后者使用适配器转换数据)调用它们
答案 1 :(得分:1)
听起来我需要一个DataType基类和一个转换算法可以使用的DataRow基类。
然后使用Factory模式构建对象。
如果您使用的是C#,则可以使用反射以通用方式访问所有属性。
或者,如果您的转换算法需要访问特定的属性名称,那么您的工厂可以处理DataType123,DataRow123和TransformationAlgorithm123的构造。
答案 2 :(得分:0)
你的问题有点不清楚。 DDD是关于保存值对象的存储库模式的全部内容。你在寻找其他模式来处理特别的事情吗?目前尚不清楚你要在这里完成什么。