Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.



composite object (композитный объект)

Композитный объект - это объект высокого уровня, состоящий из тесно связанных между собой частей. Такой объект является экземпляром композитного класса, между частями которого существует композитная агрегация. Композитный объект схож с кооперацией (однако более прост и ограничен, чем она). В большей степени его определяет композиция в статической модели, а не контекстно-зависимые отношения кооперации.
См. composition.

Семантика

Композитный объект имеет композитные отношения со всеми своими частями. Это значит, что он несет ответственность за их создание и уничтожение, чего не делает больше никакой другой объект. Иначе говоря, для его частей нет проблем со сборкой мусора; композитный объект должен либо уничтожить их сам в момент своей смерти, либо делегировать эту обязанность другому объекту. Отношение композиции реализуется, зачастую, при помощи физического размещения объектов в структуре данных, совпадающих со структурой самого композитного объекта (обычно это запись). Такое размещение будет гарантировать, что части композитного объекта не переживут его.

Нотация

Вложенные объекты и связи можно поместить внутри графического раздела символа объекта. Графический раздел находится под разделом для атрибутов (которое можно скрыть). Объекты и связи, помещенные в графический раздел, являются композитными частями композитного объекта. Если какая-либо связь выходит за границы этого объекта, значит, она является не композитной частью объекта, а связью между двумя различными объектами.

Пример

На рис. 65 вы видите композитный объект, а именно окно графического интерфейса, состоящее из нескольких различных частей. Этот объект содержит в себе несколько экземпляров класса Scroll-Bar (ПолосаПрокрутки), причем у каждого экземпляра есть собственное имя и роль в композитном объекте. Так, например, и horizontalBar (горизонтальная ПолосаПрокрутки) и verticalBar (вертикальная Полоса Прокрутки), являются полосами прокрутки, однако в композитном объекте они ведут себя по-разному, В этом отношении они похожи на роли в кооперации.

Рис. 65. Композитный объект

Алфавитный указатель