関連付け、集約、構成の違いは何ですか? 実装の観点から説明してください。
ベストアンサー1
2つのオブジェクトの場合、Foo
関係Bar
を定義することができます
関連- オブジェクトと関係がありますFoo
。Bar
public class Foo {
private Bar bar;
};
注: 参照ファウラーの定義- 重要なのは、 が単なる依存関係 ( またはなど)ではなく、Bar
に意味的に関連付けられていることです。Foo
int
string
構成- 私はオブジェクトの所有者であり、その寿命に責任を負います。オブジェクトFoo
が死ぬと、Bar
public class Foo {
private Bar bar = new Bar();
}
集約- 他の人から借りた物があります。Foo
死んでもBar
生き続ける可能性があります。
public class Foo {
private Bar bar;
Foo(Bar bar) {
this.bar = bar;
}
}