Плагины для фаерфокса

Основные концепции программирования приложений

Любая компьютерная программа выполняется следующим образом: после размещения в памяти глобальных переменных и конструирования глобальных объектов классов, начинается выполнение команд, содержащихся в главной подпрограмме.

Как правило, вначале осуществляется ряд инициализирующих действий – разбор параметров командной строки, формирование интерфейса пользователя (вывод меню услуг и пр.).

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

Либо же после выполнения инициализирующих действий, переходит в режим ожидания событий, требующих выполнения определенных действий, и после наступления события вызывает на выполнение подпрограмму – обработчик этого события, продолжая одновременно анализировать поступление других событий. и т. д. в бесконечном цикле, пока не поступит событие, требующее покинуть цикл и завершить программу.

При этом момент наступления того или иного события и их последовательность не регламентированы, но события могут быть ранжированы по приоритетам их обслуживания и более приоритетное событие может прервать обслуживание менее приоритетного на время своего обслуживания.

Менее приоритетное по отношению к обслуживаемому в текущий момент событие должно стать в очередь на обслуживание и его обработчик выполнится, когда подойдет его очередь. Методы составления такого типа программ мы и называем событийно – ориентированным программированием.

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

Чтобы освободить программиста от необходимости непосредственно анализировать сигналы устройств, создаются программные комплексы операционных систем, размещающих по согласованным с действиями процессора адресам свои подпрограммы реакции на поступающие от устройств сигналы.

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

Поэтому одна из основных задач операционной системы состоит в преобразовании поступившего сигнала в информационное сообщение (это как правило структура с необходимым набором полей), определение адресата – обработчика события и вызов этого обработчика с передачей ему соответствующего событию сообщения в качестве одного из аргументов.

Чтобы операционная система могла выполнить вызов необходимого обработчика, структура прикладной программы должна соответствовать требованиям той операционной системы, под управлением которой она будет выполняться.

Дата публикации: 10.08.2012