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