我正在阅读的一位通用数据模型作者认为,根据他的经验,50%的企业系统在处理缔约方,工作努力等方面具有“普遍性”,25%在该业务行业中具有普遍性,平衡对于特定企业来说是独一无二的(即可口可乐百事可乐)。
但是我不知道基于此构建的代码,并且不能想到任何人真正从域视角看模式,而不是数据建模,因为Fowler在90年代中期这样做了。 p>
具有DDD方向的人是否对通用数据模型的有用性有任何基于意见的经验?
你是否真的有人类和组织限制的子类型,角色中的其他人?如果是这样,你如何实现呢?
您喜欢的任何实施指南或开源系统?
干杯,
Berryl
答案 0 :(得分:2)
Universal Patterns书籍和Fowlers Analysis Patterns中提供的数据和领域模型非常有用,因为它们提供了模型结构的详细概括概述。我在创建更具体的域模型时使用它们作为参考,通常只使用书中描述的部分模型。
就福勒的书中的问责制模式而言,一个党与一个角色是不同的,因为一个党可以履行多个角色。所以对我而言,一个党可以是一个人或一个组织是有道理的。 .NET框架的一个示例是IIdentity和IPrincipal接口。 IIdentity可以代表一方,而IPrincipal则是一个身份和一组角色的组合。
答案 1 :(得分:1)
你真的有派对的子类型限于人和 组织,与角色中的其他人一起?你是如何实现的 如果是的话?
有关最低限度的实施,请参阅this SO answer。
短篇小说是一个特定的角色(可能不是最好的词)如果它是一个可由个人和组织填补的角色,则引用超类型。 “客户”可能就是一个很好的例子。
如果个人子类型只能由个人填写,则该特定角色会引用该个人子类型。 “员工”或“员工”可能就是一个很好的例子。
如果组织子类型只能由组织填充,则该特定角色引用该组织子类型。 “雇主”或“前雇主”可能是一个很好的例子。
(并非所有这些示例都在链接的答案中,但我认为PostgreSQL源代码可以很容易地弄清楚您可能需要做什么。)