atis2345
@atis2345
PHP developer

В чем разница между ассоциацией, агрегацией и композицией на уровне кода?

Всем привет.
Баян редкостный но внятного ответа на него до сих пор похоже нет.

class Aggregation
{
    protected $obj;

    public function __construct(Model $Model)
    {
        // Не является ли это ассоциацией?
        $this->obj = $Model;
    }
}


class Composition
{
    protected $obj;

    public function __construct()
    {
        // Не является ли это ассоциацией?
        $this->obj = new Model();
    }
}


И так. В чем же разница?

UPD: в моем понимании ассоциация это абстрактный вариант агрегации и композиции.
  • Вопрос задан
  • 3326 просмотров
Решения вопроса 1
atis2345
@atis2345 Автор вопроса
PHP developer
softwareengineering.stackexchange.com/questions/23...

stackoverflow.com/questions/13044984/difference-be...

Вики: "Ассоциация показывает, что объекты одной сущности (класса) связаны с объектами другой сущности таким образом, что можно перемещаться от объектов одного класса к другому. Является общим случаем композиции и агрегации."

Диаграмма классов

Для агрегации и композиции есть множество ненужный статей хотя там и так все предельно ясно, в случае с ассоциацией четкого определения нет.

UPD: java-course.ru/begin/relations
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
romy4
@romy4
Exception handler
atis //: ну вот тут побольше инфы и умно. реально про ассоциацию не описать двумя предложениями
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы