アソシエーション、アグリゲーション、およびコンポジションのコードがどのように見えるかについて、私の理解を確認しようとしています。だからここに行きます。
集計: Has-a. 別のタイプの既存のオブジェクトがあります
public class Aggregation
{
SomeUtilityClass objSC
public void doSomething(SomeUtilityClass obj)
{
objSC = obj;
}
}
構成: 別のオブジェクトで構成されています
public class Composition
{
SomeUtilityClass objSC = new SomeUtilityClass();
public void doSomething()
{
objSC.someMethod();
}
}
関連: これについては 2 つの意見があります。
あるクラスが別のクラスに関連付けられている場合。したがって、上記の両方が関連付けの例です。
アソシエーションは、クラスが受け取るオブジェクトへの参照を保持しない集約の弱い形式です。
public class Association { //SomeUtilityClass objSC /*NO local reference maintained */ public void doSomething(SomeUtilityClass obj) { obj.DoSomething(); } }
私の理解は正しいですか?こことここで相反する記事を読んだので、どちらに従うべきか本当にわかりません. 私の理解は最初のリンクと一致しているようです。2 番目のリンクが間違っていると思います。または、正しく理解していない可能性があります。
どう思いますか?