Шаг 131.
Унифицированный язык моделирования UML.
Ссылки и коннекторы

    На этом шаге рассмотрим ссылки и коннекторы во взаимодействии объектов.

    Ссылка (link) – это семантическое соединение объектов друг с другом. Вообще говоря, ссылка – это экземпляр ассоциации. Как показывает рис. 1, когда между классами установлена связь ассоциации, между экземплярами этих классов обязательно должна существовать ссылка. При наличии ссылки между двумя объектами один из них может посылать сообщения другому.


Рис.1. Ассоциации, ссылки и коннекторы

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

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

    Разработчики большинства моделей более заинтересованы в прототипных объектах и ссылках, существующих в определенном контексте, чем в конкретных индивидуальных объектах с их ссылками. Прототипный объект называется ролью, а прототипная связь – коннектором; контекст – это кооперация или внутренняя структура классификатора. Множественность ролей и коннекторов определена относительно включающего их контекста. Например, множественность роли равная 1 означает, что на один объект, представляющий контекст, приходится один объект, представляющий роль. Кооперация или внутренняя структура может использоваться много раз, как и объявление класса, причем каждое такое использование связано с отдельным набором объектов и ссылок для данного контекста ролей и ссылок.

    В качестве примера в верхней части рис. 1 показана диаграмма классов, которая объявляет классы Person (Человек) и Company (Компания), а также существующую между ними ассоциацию "многие-ко-многим" employee–employer (наниматель–работник). Средняя часть рисунка представляет содержимое кооперации WorkAssignment (НазначениеНаДолжность). Она включает в себя две роли с коннектором между ними. В нижней части рисунка вы видите экземпляр кооперации, в котором есть объекты и ссылки, представляющие роли и коннекторы. Конкретное сообщение представляет прототипное объявление сообщения в данной кооперации.

    На следующем шаге рассмотрим сообщения, как спецификацию взаимодействия объектов в UML.




Предыдущий шаг Содержание Следующий шаг