Я пытаюсь подтвердить свое понимание того, как будет выглядеть код для объединения, агрегации и состава. Так вот идет..
Агрегация: 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();
    }
}
Ассоциация. У меня есть два мнения об этом.
- Когда один класс связан с другим. Следовательно, оба примера являются примерами ассоциации.
-  Ассоциация представляет собой более слабую форму агрегации, где класс не сохраняет ссылку на объект, который он получает. public class Association { //SomeUtilityClass objSC /*NO local reference maintained */ public void doSomething(SomeUtilityClass obj) { obj.DoSomething(); } }
Правильно ли я понимаю? Я прочитал противоречивые статьи здесь и здесь, и поэтому я действительно не уверен, какой из них следует соблюдать. Мое понимание похоже на первое звено. Я чувствую, что вторая ссылка неверна, или, может быть, я не понял ее правильно.
Как вы думаете?
