Агрегация
Вернемся к компьютерной системе. Она состоит из системного блока, клавиатуры, мыши, монитора, устройства проигрывания компакт-дисков, одного или более жестких дисков, модема, дисковода для гибких дисков размером 3,5 дюйма, принтера и, возможно, колонок. Внутри системного блока наряду с перечисленными выше устройствами есть процессор, графическая карта, звуковая карта и другие элементы, которые можно обнаружить при более тщательном осмотре.
Компьютер представляет собой агрегат, получаемый при другом типе ассоциации между объектами. Подобно другим объектам, компьютер состоит из различных компонентов (рис. 2.11). В жизни существует много примеров агрегации.
Рис. 2.11. Пример агрегации — типичная компьютерная система, созданная из комбинации нескольких объектов разных типов
Один из типов агрегации предполагает тесную связь между объектом-агрегатом и составляющими его компонентами. Это называется композицией. Главной особенностью композиции является то, что компонент существует в виде такового только в рамках композитного объекта. Например, рубашка — это композиция основной части, воротника, рукавов, пуговиц, петель и манжет. Порвите рубашку, и рукава станут бесполезными.
Иногда компоненты существуют не так долго, как содержащий их композитный объект. Листья на дереве погибают раньше всего дерева. Если сломать дерево, погибнут и листья (рис. 2.12).
Рис. 2.12. Компонент иногда погибает раньше содержащего его композита. Но если разрушить композит, то разрушается и компонент
Агрегация и композиция очень важны, потому что они отражают наиболее общие отношения и помогают создавать модели, точно воспроизводящие реальность.