Возможность навигации

Возможность навигации (navigability) указывает на возможность прохода от объекта исходного класса к одному или более объектам в зависимости от кратности целевого класса. Смысл навигации в том, что «сообщения могут посылаться только в направлении, в котором указывает стрелка». Объекты Order могут посылать сообщения объектам Product, но не наоборот.
Одна из целей хорошего ОО анализа и проектирования – минимизировать количество взаимосвязей между классами. И применение возможности навигации – верное средство достижения этой цели. Сделав ассоциацию между Order и Product однонаправленной, можно обеспечить возможность свободной навигации от объектов Order к объектам Product, но не в обратном направлении – от объектов Product к объектам Order. Таким образом, объекты Product не знают о своем возможном участии в конкретном Order и, следовательно, не имеют связанности с Order.
Возможность навигации обозначается крестом или стрелкой на концах отношения.
Спецификация UML 2.0 [UML2S] предлагает три стиля обозначения возможности навигации на диаграммах модели.
1. Сделать возможность навигации абсолютно явной. Должны быть обозначены все стрелки и кресты.
2. Сделать возможность навигации абсолютно скрытой. Стрелки и кресты не обозначаются.
3. Опускать все кресты. Двунаправленная ассоциация обозначается без стрелок. Однонаправленная ассоциация обозначается с одной стрелкой.
Эти три стиля:
Стиль 1 — делает возможность навигации полностью видимой, что, однако, может сделать диаграмму слишком громоздкой.
Стиля 2 — следует избегать, потому что он скрывает слишком много значимой информации.
Стиль 3 – разумный компромисс. На практике чаще всего используется стиль 3. И поскольку он представляет лучший на данный момент вариант, именно он применяется в этой статье. Основные преимущества стиля 3 — при его использовании диаграммы не загромождаются слишком большим количеством стрелок и крестов; он обратно совместим с предыдущими версиями UML. Читать далее…

Запись опубликована в рубрике Компьютеры и интернет с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code