我一直避免使用聚合,因为将一对多关系归类为聚合似乎太主观了。但我正在审查其他人制作的模型,其中聚合用于多对多关系(例如:一门课程由多个模块组成,一个模块可能是多个课程的一部分)。这在我看来是完全错误的,但我找不到一个明确的规则来反对它。官方有什么规定?
是否可以通过阅读源代码来区分组合和聚合关系?
我试图找到一些模式,我在下面列出了它们.
我从这个网站上的例子 只是为了解释我认为是一种模式
组成

public class Engine
{
. . .
}
public class Car
{
Engine e = new Engine();
.......
}
Run Code Online (Sandbox Code Playgroud)
聚合

public class Address
{
. . .
}
public class Person
{
private Address address;
public Person(Address address)
{
this.address = address;
}
. . .
}
Run Code Online (Sandbox Code Playgroud)
我发现这些模式可以区分
组成(是其中的一部分)
定义为一个类的字段.
在类中实例化和分配.
聚合(有)
定义为一个类的字段
在课堂上安排好了