Глава 19: Учебный пример: среда разработки
Как мы уже отмечали в главе 18, среда разработки — это совокупность классов, которые
определяют структуру, необходимую для решения конкретной проблемы. Возможно,
наиболее часто среды разработки используются при создании графических интерфейсов
пользователя. Действительно, в большей степени популярность объектно-
ориентированных техник можно отнести за счет успеха сред типа GUI (Graphics User
Interface — графический интерфейс пользователя).
В этой главе мы рассмотрим очень простую среду разработки — Малую Среду Разработки
LAF (LAF — Little Application Framework). Она сознательно сделана гораздо проще, чем
большинство коммерческих сред, поскольку рассчитана только на объяснение концепции
среды разработки. LAF в целом содержит менее дюжины классов, в то время как в
большинстве коммерческих сред их более сотни. Несмотря на это, среда LAF вполне
закончена и демонстрирует большинство важных концепций, необходимых для
понимания средств разработки графических приложений.
Среда LAF была создана с учетом требований переносимости на различные платформы. В
то время как детали реализации могут сильно различаться, интерфейс LAF для различных
платформ остается постоянным. Существуют версии среды LAF для Macintosh, PC и
UNIX-систем.
19.1. Компоненты GUI
Среда LAF поддерживает следующие компоненты GUI: единственное окно, меню,
кнопки, текстовые поля, работу с мышью и клавиатурой.
Основной способ, посредством которого программист задает конкретный вид элемента
управления (кнопки, меню, окна), — это наследование. Так, существует общий класс
кнопок button, из которого порождаются подклассы, то есть кнопки конкретного типа. То
же самое справедливо для меню, пунктов меню и окон.
До того как объяснять структуру этих компонентов в среде LAF, нам следует вначале
приобрести общее понимание программ, управляемых событиями, к которым относятся и
интерфейсы.
19.2. Выполнение, управляемое событиями
Первое концептуальное препятствие, которое должен преодолеть программист в попытке
понять технику разработки графического интерфейса, — это принцип построения
программы на основе событий.
Традиционная программа следует своему собственному сценарию. Мы можем
представить себе выполнение как указку, двигающуюся по программе от начала до конца.
На разных этапах программа взаимодействует с пользователем, однако набор ответов, с
которыми она способна справиться, весьма ограничен. Например, программа может
задавать пользователю вопросы и реагировать только на простые ответы типа «да/нет»,
вводимые с клавиатуры.
Программа, управляемая событиями, контролируется пользователем. Она должна
реагировать только на действия пользователя, и ее исполнение в основном сводится к
единственному циклу. Следующий пример описывает с помощью псевдокода главный
PDF created with pdfFactory Pro trial version www.pdffactory.com