В.2. Диаграмма объектов
На диаграмме объектов представлены только экземпляры. На ней показан
мгновенный снимок объектов в паттерне проектирования. Объекты именуются
«aSomething», где Something - это класс объекта. Для обозначения объекта
1
В ОМТ определены также
ассоциации
между классами, изображаемые простыми линиями, соединя-
ющими прямоугольники классов. Хотя на стадии анализа ассоциации полезны, нам кажется, что их
уровень слишком высок для выражения отношений в паттернах проектирования, просто потому, что
на стадии проектирования ассоциациям следует сопоставить ссылки на объекты или указатели. Ссыл-
ки на объекты по сути своей являются направленными и потому лучше подходят для визуализации
интересующих нас отношений. Например, классу Drawing (рисунок) известно о классах Shape (фи-
гура), но сами фигуры ничего не «знают» о рисунке, в который они погружены. Выразить такое отно-
шение только лишь с помощью ассоциаций невозможно.
Объяснение нотации
используется прямоугольник с закругленными углами (что несколько отличается
от стандарта ОМТ), в котором имя объекта отделено от ссылок на другие объекты
горизонтальной линией. Стрелки ведут к объектам, на которые ссылается данный.
На рисунке В.2 приведен соответствующий пример.
Рис. В.2. Нотация диаграмм объектов
В.З. Диаграмма взаимодействий
Порядок исполнения запросов, которые объекты посылают друг другу, пока-
зан на диаграмме взаимодействий. Так, на рисунке В.З представлено, как фигура
добавляется к рисунку.
Диаграмма взаимодействий
Рис. В.З. Нотация диаграмм взаимодействия
На диаграмме взаимодействий время откладывается сверху вниз. Сплошная
вертикальная линия обозначает время жизни объекта. Соглашение об именова-
нии объектов такое же, как на диаграммах объектов: имени класса предшествует
буква «а» (например, aShape). Если объект еще не создан к начальному моменту
времени, представленному на диаграмме, то его вертикальная линия идет пункти-
ром вплоть до момента создания.
Вертикальный прямоугольник говорит о том, что объект активен, то есть обра-
батывает некоторый запрос. Операция может посылать запросы другим объектам,
они изображаются горизонтальной линией, указывающей на объект-получатель.
Имя запроса показывается над стрелкой. Запрос на создание объекта представлен
пунктирной линией со стрелкой. Запрос объекта-отправителя самому себе изобра-
жается стрелкой, указывающей на сам этот объект.
На рисунке В.З видно, что первый запрос, исходящий от aCreationTool,
преследует целью создание объекта aLineShape. Затем aLineShape добавляет-
ся к объекту aDrawing с помощью операции Add, после чего aDrawing посылает
самому себе запрос на обновление Refresh. Отметим, что частью операции
Refresh является посылка объектом aDrawing запроса к aLineShape.
Do'stlaringiz bilan baham: |