Компоненты систем программирования (1119464), страница 5
Текст из файла (страница 5)
Обычная логика чётко отделена от логики исключений, что помогаетструктурировать композицию, облегчить её проектирование исопровождение.2. Если композиция структурирована в соответствии с деревомдекомпозиции, аналогично можно организовать и определенияисключений.3. Оказывается возможным описать стратегию продолжения, то естьуказать, что произойдет с вызовом композиции и, в частности, с"исключительной" активностью, после завершения обработкиисключения.162Подходы, основанные на правилах(событие-условие-действие/event-condition-action)• Событие (например, отказ заказчика) облекается в форму сообщений,посылаемых клиентом композитной службе, или в форму таймаутов.• Условие – логическое выражение над сообщением, которое проверяет,действительно ли событие относится к исключительной ситуации,которую надо обработать.• Действие вызывает операцию или прерывает транзакцию.• Преимущества и недостатки:• Подходы, основанные на правилах, чётко разделяют нормальное иисключительное поведение процесса.
Эти подходы хороши, есличисло правил невелико.• В системе появляется ещё один язык, который системе надоинтерпретировать, а разработчику – изучать. Трудно анализировать ипонимать совместное поведение крупного набора правил и(возможно неожиданное и нежелательное) взаимодействие междуправилами и потоками внутри набора.163.