Разработка компонент для среды структурно-визуального программирования
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
>
Рис. 7. ? Структура инструментов генерации кода
Рис. 8. ? Пример использования мастера сложных действий
.4 Дерево действий
Визуализация программного кода происходит в специальном разделе среды разработки, называемом деревом действий. Также в нём отображаются компоненты, содержащие код и их события. На рисунке 9 представлен вид дерева действий.
Рис. 9. ? Вид дерева действий
На приведенном рисунке представлен пример обработчика события клик мыши по кнопке, с именем КнопкаРавно.
События визуализируются в виде ветвей дерева, вложенных в представление компонента. Каждое событие содержит набор выражений определяющих реакцию программы на действие пользователя.
Ветви дерева, являющиеся условными или циклическими конструкциями, содержат в себе выражения, которые будут выполняться в случае истинности указанного условия.
Еще одной задачей дерева действий является визуализация процесса отладки разрабатываемого пользователем приложения, путем расстановки контрольных точек на ветках дерева и отображения трассировки.
Таким образом, дерево действий решает следующие задачи:
-Перечисление набора использованных компонент в программе;
-Отображения обработчиков событий;
-Визуализации выражений программного кода
-Предоставление услуг отображения процесса отладки
Программный код
Программный код представляет собой набор операторов, связанных алгоритмическими примитивами, такими как условия, циклы.
Общая семантика программного кода в среде структурно- визуального программирования в формате РБНФ представлена в Листинге 1:
Программный код = { Выражение }
Выражение = Терм [ = Терм { (+|-|&) Терм } ]
Терм = [Дополнительная функция] строка |
Свойство компонента[( Терм {, Терм } )]
Свойство компонента = Кнопка.Текст | Окно.Ширина | тАж
Дополнительная функция = Корень | Синус | тАж
Листинг 1. ? Семантика программного кода в РБНФ
Программный код является набором выражений, которые описывают поведение компонентов во время работы разрабатываемого пользователем приложения. Каждое выражение может либо вызвать метод компонента, либо изменить его свойство, на основании свойств других компонент.
Программный код каждого компонента хранится во внутренних полях и передается в среду через специальный интерфейс.
.5 Класс экспорта
Класс экспорта предоставляет возможности сохранения разрабатываемого проекта в различные форматы данных. Система имеет следующие возможности экспорта:
-Внутренний формат файла для хранения проекта
-В исполняемый файл
-В код Visual basic.Net
3. Реализация компонент
Компоненты представляют собой составные блоки, из которых собирается программа. Это кнопки, окна, надписи, объекты, представляющие файловую систему, реестр и т.д. Задача среды разработки предоставить инструментальные средства для связи компонент в единую программу, которая сможет решать поставленные задачи.
.1 Существующие модели построения компонентов
На сегодняшний день основным технологический стандартом разработки компонентов является COM (англ. Component Object Model - Объектная Модель Компонентов). Он подразумевает создание программного обеспечения на основе взаимодействующих распределённых компонентов, каждый из которых может использоваться во многих программах одновременно. Стандарт воплощает в себе идеи полиморфизма и инкапсуляции объектно-ориентированного программирования. Стандарт COM не мог быть универсальным и закрепился в основном на операционных системах семейства Microsoft Windows. В современных версиях Windows COM используется очень широко
Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный идентификатор (GUID) и может одновременно использоваться многими программами. Компонент взаимодействует с другими программами через COM-интерфейсы - наборы абстрактных функций и свойств. Каждый COM-компонент должен, как минимум, поддерживать стандартный интерфейс IUnknown, который предоставляет базовые средства для работы с компонентом. Интерфейс IUnknown включает в себя три метода: QueryInterface, AddRef, Release.
Реализация COM модели компонента
Сегодня технология.NET сводит к минимуму трудности реализации собственных компонент. Для построения компонента достаточно реализовать интерфейс System.ComponentModel.IComponent, либо, что более распространено и широко используется, наследовать существующий компонент. К примеру, использовать в качестве базового класса общий объект всех.NET визуальных компонентов - System.Windows.Forms.Control.
Последний вариант позволяет избежать сложностей, связанных с организацией управления памятью и отрисовкой компонентов, что сильно упрощает разработку.
Исходя из приведенных аргументов, реализация COM модели компонентов реализована по средствам наследования уже существующих.NET классов.
Однако, отличительной особенностью разработанной модели от стандартов System.ComponentModel является то, что все свойства и события.NET класса, которые использует компонент, хранятся в инкапсулированном классе представления, в кот