Сообщения и сигналы

В рассматриваемом примере переключающим событием, вызывающим переход из состояния Отображение заставки в состояние Работа, может быть нажатие клави­ши, перемещение указателя мыши или щелчок на кнопке. Любое из этих событий в конечном счете представляет собой сообщение пользователя GUI-интерфейсу. Это важное понятие, поскольку объекты взаимодействуют друг с другом путем передачи сообщений. В нашем случае переключающее событие является сообщением от одного объекта (пользователь) другому (GUI).

Сообщение, обеспечивающее переход на диаграмме состоянии объекта-получателя, называется сигналом. В рамках объектно-ориентированного подхода отправка сигнала представляется как создание экземпляра класса сигнала и передача его объекту-получателю. Сигнал имеет свойства, представляемые в виде атрибутов. Поскольку сигнал можно рассматри­вать как класс, то можно создать диаграмму классов, отражающую иерар­хию наследования сигналов.

Передачу сигналов и их иерархию удобно рассмотреть на примере пульта дистанцион­ного управления телевизором. Этот пример позволяет также вспомнить о стереотипах, ис­пользуемых в UML для расширения возможностей языка. Поскольку сигнал в UML мож­но представить как класс, то на диаграмме классов для каждого сигнала используется сте­реотип «сигнал». На рис. 9 представлена иерархия сигналов для модели пульта дистанционного управления телевизором. Возможно, модель вашего пульта несколько от­личается от приведенной. Если это так, попробуйте смоделировать сигналы вашего пульта.

Рис. 9. Иерархия сигналов для пульта дистанционного управления телевизором

Между прочим, обозначение класса «сигнал» можно использовать для выделения события, переводящего объект из одного состояния в другое, как показано на рис. 10.

Рис. 10. Использование стереотипа класса «сигнал» для выделения события, вызывающего переход из состояния


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: