历史关联模式

Historical association pattern

我目前正在研究软件工程模式,我们被要求研究的一个是“历史关联模式”,它指的是福勒的“分析模式”一书中给出的历史映射模式。我们给出的示例如下:

我尝试在网上查找有关如何实施此结构的信息,但没有找到任何有关历史映射关联的信息。这种结构的 code/pseudo-code 示例是什么?

简答

此模式仅包括通过关联 class.

使用一些日期进行关联

完整解释

中间的菱形是员工、日期和金钱之间的三元关联。虚线表示 Salary 是关联 class 并且它还与 Date.

关联

关联 class 通常会使用 tuples/composed class 雇员、日期、金钱和薪水属性来实现。完成的方式可能非常不同:在 Java 中,您将直接引用关联的对象,而在数据库中,您将混合使用 id 和 salary 属性。比这个令人印象深刻的图表简单得多。

有更简单的模型!

这个图很难读(三元关联),很难理解(三元关联中的多重性不是很容易理解),模棱两可(即 Salary 与两个日期关联,从它代表的三元关联和从直接关联?还是只是图形冗余?)。

如果重构为二元关联,将Dare等值对象显示为属性,理解起来会简单很多。