Стили и методы программирования



             

Событие, сообщение, демон


Упомянутое ранее (утверждение (5.2)) качество

Подготовка информации для действий в ходе распознавания условий применимости действий, (13.1)

пожалуй, является критическим моментом для разделения случаев использования сентенциального и событийного программирования. Проверка приоритетов и выбор действия с наивысшим приоритетом в качестве активного точно так же, как отождествление метавыражения в сентенциальном случае, запрятана в атомарные действия программной системы, но при проверке приоритетов программист не получает никакой полезной информации для проведения выбранного действия. Если какая-то полезная информация и получается будущим действием, то она задается отдельно и императивно, в параметрах сообщения, вызывающего событие. В свою очередь, наличие либо практическое отсутствие такой информации определяет разницу двух ипостасей событийного программирования: программирования от событий и от приоритетов.

Следует заметить, что есть еще одна особенность, общая для двух стилей: сентенциального и событийного.

Отделение проверки условий от выполнения действий (13.2)

Это представляется общей характеристикой технологических решений для стилей, где условия глобальны.

До сих пор мы ничего не говорили о том, какие события возможны при программировании в событийно-ориентированном стиле. Исторически этот стиль как определенный художественный прием сформировался в области разработки операционных систем, где естественно связывать понятие события с прерываниями. Прерывание - это сигнал от одного из устройств (может быть, и от самого процессора), который говорит о том, что произошло нечто, на что следует обратить внимание. Когда происходит прерывание, операционная система распознает, какая причина его вызвала, и далее формирует событие как информационный объект, вызывающий реакцию программной системы. Возможны разные способы реагирования на события, в том числе и передача его для обработки той программе, при выполнении которой возникло прерывание, породившее это событие.

Из потребности такой обработки, собственно говоря, и сформировался событийно-ориентированный стиль программирования.


Содержание  Назад  Вперед