Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Примеры моделирования и анализа на основе ООП.doc
Скачиваний:
103
Добавлен:
02.05.2014
Размер:
265.22 Кб
Скачать

Шаблон № 27 "Издатель – Подписчик" шаблоны взаимодействия

Subscriber Подписчик

action To Take акция к выполнению

about описание

receive Notification() получить извещение

execute Action() выполнить акцию

Publisher Издатель

about описание

notify Subscribers()

известить абонента

1 *

  • Типичные объектные взаимодействия: notify Subscribers —> receive Notification

  • Примеры: проблема - объект области, человек - объект взаимодействия, данные - объект управления, система - объект взаимодействия; модель - документ; модель – представление; объект "первой подсистемы" - объект "второй подсистемы

  • Комбинации: сочетание шаблона игрока проблемной области (издателя) и соответствующего шаблона игрока взаимодействия с человеком, шаблона игрока управления данными и шаблона игрока взаимодействия систем (подписчиков)

Шаблон № 28 "Отправитель – Посредник – Получатель" шаблоны взаимодействия

Sender Отправитель

about описание

invoke Receiver()

вызов получателя

Pass Through Посредник

about описание

invoke Receiver()

вызов получателя

Receiver Получатель

about описание

execute Request()

выполнить запрос

* 1

  • Типичные объектные взаимодействия

sender. invoke Receiver —> pass Trough. invoke Receiver -> receiver. execute Request

  • Примеры

sale Line Item. qual For Discount —> sale. qual For Discount —> customer. qual For Discount

  • Комбинации скидка

Сочетание триады участник – транзакция – экземпляр строки транзакции

Сочетание любых трех (или более) взаимодействующих шаблонов игроков

  • Замечание: Отправитель тесно связан с остальными двумя членами триады

Шаблон № 29 "Отправитель - Справочное Устройство - Получатель" шабл.Взаимодейст-я

Sender Отправитель

about описание

get Next Receiver()

определить следующий

адресат

invoke Receiver()

вызов получателя

Lookup

Справочное Устройство

about описание

select Receiver()

найти получателя

Receiver Получатель

about описание

execute Request()

выполнить запрос

* * *

  • Типичные объектные взаимодействия

sender. get Next Receiver -> lookup. select Receiver, followed by...

sender. invoke Receiver —> receiver. execute Request

  • Примеры

sale Analysis Window. lookup Line Item -> sale. lookup Line Item, followed by...

sale Analysis Window. calc Line Item Profit —> sale. calc Profit

  • Комбинации

Сочетание триады участник – транзакция - экземпляр строки транзакции

Сочетание любых трех (или более) взаимодействующих шаблона игроков

  • Замечание: Такой подход упрощает поиск объекта

Шаблон № 30 "Вызывающий – Диспетчер – Отвечающий" шаблоны взаимодействия

Caller Вызывающий

about описание

request Call Back()

запросить обратный вызов

receive Call Back()

получить обратный вызов

Lookup Диспетчер

about описание

select Call Back()

определить обратный вызов

activate Call Back()

включить обратный вызов

Caller Back Отвечающий

about описание

make Call Back()

создать обратный вызов

rate() оценить

* *

  • Типичные объектные взаимодействия

caller. Request Cal l Back —> dispatcher. Select Caller Back —> rate Me, followed by...

dispatcher. Activate Caller Back —> caller Back. Make Call Back —> caller. Receive Call Back

  • Примеры

клиент - диспетчер такси - такси (в имитационной системе)

входящий звонок - сервер ответных звонков - узел ответных звонков

проситель - биржа труда - составитель контрактов (в имитационной системе)

  • Комбинации

Сочетание любых трех (или более) взаимодействующих шаблонов игроков