天天看点

业务逻辑体现在各种数据、行为的关系上,因此,聚合设计也重在关系处理,对关系的敏感性成了设计聚合的要点。关系有高度紧密,也

作者:从头开始自学java

业务逻辑体现在各种数据、行为的关系上,因此,聚合设计也重在关系处理,对关系的敏感性成了设计聚合的要点。关系有高度紧密,也有松松垮垮,而高聚合低关联是处理这些关系的主要依据。

聚合本身就是一种高聚合,聚合内部的对象都是在数据和行为上高度关联和一致的,除此以外的其他关系就被抛弃了。如果关系不是很紧密,那么就隔断,如果非常紧密就放在一起。

Java等面向对象语言中,关联可实现为引用,当在Product类中将Category作为其字段属性引用时,就表示Product和Category是一种关联关系

而关系数据表或ER模型使用外键来表示这种关系。无论UML、Java还是关系数据库,它们都用不同的方式表达了“关系”这个概念。

除了上面的关系,还有更紧密的关联,它就是聚合(Aggregation)。聚合是一种更强的紧密关联,代表一个类是另一个类的一部分。它有两个特性。

1)传递性:如果A是B的一部分,B是C的部分,那么A就是C的一部分。

2)反对称性:如果A是B的一部分,那么B不会是A的一部分。

除了聚合还有组合(Composition)。组合是一种较强的聚合关系,这两种关系基本相同,不同之处在于,在组合关系中,部件对象任何时候只能从属于一个整体对象,两者的生命周期是一样的。

业务逻辑体现在各种数据、行为的关系上,因此,聚合设计也重在关系处理,对关系的敏感性成了设计聚合的要点。关系有高度紧密,也
业务逻辑体现在各种数据、行为的关系上,因此,聚合设计也重在关系处理,对关系的敏感性成了设计聚合的要点。关系有高度紧密,也
业务逻辑体现在各种数据、行为的关系上,因此,聚合设计也重在关系处理,对关系的敏感性成了设计聚合的要点。关系有高度紧密,也

继续阅读