Агрегация и композиция. Семантика. Ассоциации. Классы-коллекции.



При проектировании отношение ассоциация можно уточнить до агрегации или более строгой формы агрегации – композитной агрегации, если ассоциация имеет соответствующую семантику. Обычно композитную агрегацию называют просто композицией. Получить представление о семантических отличиях между двумя типами агрегации можно из обсуждения примеров, взятых из окружающего нас мира.

● Агрегация – это свободный тип отношения между объектами – как между компьютером и его периферийным оборудованием.

● Композиция – это очень строгий тип отношения между объектами – как между деревом и его листьями.

 

Семантику агрегацииможно подытожить следующим образом:

● агрегат может существовать как независимо от частей, так и вместе с ними;

● части могут существовать независимо от агрегата;

● агрегат является в некотором смысле неполным в случае отсутствия некоторых частей;

● части могут принадлежать одновременно нескольким агрегатам.

 

Резюмировать семантику композиции можно следующим образом:

● одновременно части могут принадлежать только одному композиту – совместное владение частями невозможно;

● композит обладает исключительной ответственностью за все свои части; это означает, что он отвечает за их создание и уничтожение;

● композит может высвобождать части, передавая ответственность за них другому объекту;

● в случае уничтожения композита он должен или уничтожить все свои части, или передать ответственность за них другому объекту.

Ассоциации

● Ассоциации один-к-одному

● Ассоциации многие-к-одному

● Ассоциации один-ко-многим

 

Классы-коллекции

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

Одним из ключей к отличному ОО проектированию и реализации является совершенное владение классами-коллекций. У всех таких классов есть операции для:

● добавления объектов в коллекцию;

● удаления объектов из коллекции;

● извлечения ссылки на объект, находящийся в коллекции;

● обход коллекции, т. е. проход по коллекции от первого объекта до последнего.

 

 


Интерфейсы и компоненты. Интерфейсы. Предоставляемые и требуемые интерфейсы.

 

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

 


Дата добавления: 2018-06-01; просмотров: 580; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!