[答疑]这个自反关联有一端的角色是不是应该叫“当前版本”

69 篇文章 2 订阅

软件方法(下)分析和设计第8章分析 之 分析类图——知识篇(20211227更新)

软件方法(下)分析和设计第9章分析 之 分析类图——案例篇(20211228更新)

第五元素 2022-1-13 20:23

潘老师,请问这个历史版本的分析模式,是不是应该为 上一版本 和 当前版本,而不是下一版本?

图片

(组织有个版本的自反关联看起来比较奇怪,但这个背后有它的故事,而且这是一个中间结果,此处就不展开说了。——此处为补注,非原有答疑内容。)

UMLChina潘加宇

哪有什么“当前版本”,你把类和对象搞混了。

“当前版本”“自己”可能以为自反关联是一个对象自己搞,其实自反关联也有两个对象,只不过两个对象属于同一集合。

你想想,如果是这样的话,所有的自反关联都应该有一端的多重性严格为“1”,因为“自己”有且只有一个嘛。

类图说的是映射规则

例如,

组织和人员有个雇用的一对多关联,组织1,人员多,意思是:

对于组织集合中某一个组织对象,在人员集合中可能会有多个人员被它雇用

对于人员集合中某一个人员对象,在组织集合中可能会有1个组织雇用它

同理

组织和组织有个上下级的一对多关联,上级1,下级多,意思是:

对于组织集合中某一个组织对象,在组织集合中可能会有多个下级组织

对于组织集合中某一个组织对象,在组织集合中可能会有1个上级组织

写出代码可能是

class 组织

{

组织 上级;

List<组织> 下级;

......

}

当然,像1对多的自反关联,可以只留一个上级,需要找下级时再算出下级。

DDD浮夸,Eric Evans开了个坏头

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值