以下是排他性弧的例子(绿色弧线);它的含义是飞机可以有螺旋桨或喷气发动机 - 但不是两者都有。
在Barker ER符号中,排除 对两个或多个角色的约束是 显示为“独占弧”连接 用小点或 圈。
顺便说一下 - 你能用DDD吗? (我假设你可以,如果他们是UML的一部分)。
编辑 - 关于DDD的问题有点误导,我把它放在了思考之后,但是@sfinnies的回答提出了另一个有效的问题,我会单独提出(经过一些研究)。 / p>
答案 0 :(得分:1)
不确定“DDD支持”是什么意思?
DDD本身不提供建模语言:它是方法(如何攻击问题)和架构(如何构建应用程序)的组合。
你正在表达一个商业规则:飞机可以有喷气发动机或螺旋桨发动机,但不能同时使用两者。
这是来自域的有效约束,可能与您的应用程序相关,因此需要在域逻辑中捕获。所以从这个角度来看,DDD支持它。
你如何实现它部分取决于你的语言选择,但我猜测Plane将是一个聚合根,因此负责确保满足约束。 DDD所说的是,作为域约束,它应该在您的域逻辑中捕获:而不是其他一些架构层。
HTH