我一直在学习DDD,并且一直坚持域分离。我目前正在处理一个“产品目录”领域。现在,在这个领域,一些产品缺少描述或图像。如果它们是从外部来源丢失的,我想添加它们。
目前我有两个型号:“产品”和"RemoteProduct“。RemoteProduct只具有与Product相同信息的子集。它们每个都有一个存储库。
我的产品库需要一个"GetAllMissingDescription“和"GetAllMissingImage”。从业务的角度来看,目录不需要搜索这两样东西,所以这似乎不属于这个领域。然而,除了搜索和填充这些数据之外,所有的功能都是相同的。
通过创建服务,此任务是否适合“产品目录”?创建“产品目录更新器”域更有意义吗?也许在DDD之外这样做,并创建一个自包含的脚本。还是我做错了?
发布于 2017-07-31 20:51:07
如果它们是从外部来源丢失的,我想添加它们。
您的领域是否有任何理由来理解一个产品的描述或图像是来自外部还是“内部”来源的细节?
除非您有令人信服的理由在领域中表达这些细节,否则最好将其隐藏在一个“不知如何”获取图像和描述的抽象后面。
这样你的领域业务规则就不需要知道你是如何得到产品信息的。审查他们的人将不必考虑这一点。
当你使用自动售货机时,你想要产品的生活史还是只想要产品?
https://softwareengineering.stackexchange.com/questions/354841
复制相似问题