[答疑]统计报表和被统计的数据是聚合还是依赖关系

2022-10-31 16:57:44 浏览数 (2)

DDD领域驱动设计批评文集>>

《软件方法》强化自测题集>>

《软件方法》各章合集>>

可乐 2022-6-16 11:55

这两个的关系,应该表达成聚合关系,还是依赖关系呢?

UMLChina潘加宇

什么关系也没有,独立的

这个**统计是冗余的快照。

这个类的对象是统计某个或某些类的对象的属性值得到的,从领域逻辑上看,系统不需要这个类,搞一个这种类(表)的借口往往是性能,临时计算等待时间太长,所以算好了放在这个类(表)里。

这个类在分析模型(核心域模型)中不需要存在。

如何通过增加冗余来应对性能问题,这是一个实现的套路,和具体的某个领域无关,不应该带到领域模型里面来,它和分析模型(核心域模型)中的类没有关系。

否则你想想,如果你有三个类(表)ABC,里面分别有若干属性,需要查询和组合ABC的属性得到的报表可能很多,像图中那样,如果要画线的话,岂不是要到处画?

存在关联关系的一种情况是:系统需要记住“曾经对那些类(表)作统计”的细节(理由可能是为了收费?),这个信息不是冗余的,属于分析模型的一部分。

举个例子,有一个类“人员”,属性:身份证号、姓名、生日、性别。

有一个报表“2022年出生人员按性别统计”,属性:性别,出生人数。这个属于可以计算的冗余信息。

但是,如果系统要记住曾经对哪个人做了“统计”的操作,以便给他发点钱补偿一下他被统计的损失,那么就有“人员统计”类,属性:人员、被统计时间。

这个不是冗余的,从人员(身份证号、姓名、生日、性别)计算不出来。

可乐 2022-6-16 13:37

潘老师,那如何表达我想表达的那种过程呢?

UMLChina潘加宇

序列图上就是f以ABC为参数,创建报表

缺失的基础知识可能较多,有空可以好好看一下《软件方法》第8章

[推荐升级]23套UML EA和StarUML的建模示范视频-全程字幕(2022.6.1更新)

7月7-10晚网课:软件需求设计方法学全程实例剖析

7月21-24晚剔除“伪创新”的领域驱动设计-网络公开课

《软件方法》书中自测题-题目全文 分卷自测(1-8章)16套111题

《软件方法》强化自测题集110题

CTO也糊涂的常用术语:功能模块、业务架构、用户需求……[20210217更新]

如何选择UMLChina服务


0 人点赞