1

我正在阅读的一位通用数据模型作者认为,根据他的经验,50% 的企业系统在处理各方、工作努力等方面是“通用的”,25% 在该企业的行业中是通用的,其余的对于给定的企业来说是独一无二的(例如,可口可乐诉百事可乐)。

但是我不知道基于此构建的代码,并且无法想到有人真正从领域的角度看待模式,而不是数据建模,因为福勒在 90 年代中期就这样做了。

是否有任何具有 DDD 方向的人对通用数据模型的有用性有任何基于意见的经验?

你真的有子类型的派对仅限于个人和组织,其他人都在角色中吗?如果是这样,你如何实施?

您喜欢任何实施指南或开源系统吗?

干杯,
贝里尔

4

2 回答 2

3

Universal Patterns 书籍和 Fowlers Analysis Patterns 中介绍的数据和领域模型很有用,因为它们提供了模型结构的详细和概括的概述。在创建更具体的领域模型时,我将它们用作参考,并且通常只使用书中描述的模型的一部分。

就 Fowler 书中的问责模式而言,Party 与 Role 不同,因为特定的 Party 可以扮演多个角色。所以对我来说,政党可以是个人或组织是有道理的。.NET 框架中的一个示例是IIdentityIPrincipal接口。IIdentity 可以代表一方,而 IPrincipal 是一个身份和一组角色的组合。

于 2011-07-27T20:50:02.873 回答
1

你真的有子类型的派对仅限于个人和组织,其他人都在角色中吗?如果是这样,你如何实施?

对于一个最小的实现,请参阅这个 SO answer

简短的故事是,如果一个特定角色(可能不是最好的词)引用超类型,如果它是一个可以由个人和组织担任的角色。“客户”可能就是一个很好的例子。

如果特定角色只能由一个人担任,则它会引用个人子类型。“员工”或“员工”可能是一个很好的例子。

如果特定角色只能由组织填补,则它会引用组织子类型。“雇主”或“前雇主”可能是一个很好的例子。

(并非所有这些示例都在链接的答案中,但我认为 PostgreSQL 源代码可以很容易地弄清楚您可能需要做什么。)

于 2011-07-29T21:15:02.550 回答