Разработка компонент для среды структурно-визуального программирования

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ором дублируются свойства базового объекта, но в форме, понятной среде структурно-визуального программирования.

Таким образом, целью каждого компонента является перенос функциональности объектов Framework в среду разработки, посредствам класса представления.

.2 Классификация компонентов

Каждый компонент выполняет свои определенные функции. Способы предоставления объектом своих возможностей среде разработки могут быть различны. Было определено три возможных типа компонентов, и каждый разрабатываемый объект является объектом одного один из этих типов. Реализации структуры с тремя типами компонентов позволяет избежать перегрузки объектов лишними свойствами и функциями.

Типы компонент, отличающиеся друг от друга способом преподнесения своих функций разработчику:

-С визуальным интерфейсом

-Без постоянного визуального интерфейса

-Статические классы

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

Рис. 10. ? Пример отображения в среде разработки компонент с визуальным интерфейсом

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

Рис. 11. ? Пример отображения в среде разработки компонент без постоянного визуального интерфейса

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

Рис. 12. ? Пример отображения в среде разработки компонент статического типа

.3 Режимы работы компонентов

Реализацию компонента можно разбить на 3 логические части, т.к. каждый компонент должен заключать в себе реализацию трех режимов работы:

-В скомпилированном режиме

-В режиме конструктора в среде разработки

-В режиме отладки программы

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

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

При работе в режиме отладки поведение компонента должно соответствовать поведению в скомпилированном режиме, за исключением того, что команды программного кода должны отправляться в интерпретатор, по средствам интерфейса IProject.

.4 Схема класса компонента

Обобщенная схема класса компонента выглядит следующим образом (Рис. 13)

Рис. 13. ? Обобщенная схема компонента

Все компоненты реализуют интерфейс IObject. Его структура представлена на Рис. 14.

Рис. 14. ? Интерфейс компонента

Каждый компонент базируется на существующем.NET классе, который реализует требуемую функциональность. Адаптация свойств, методов и событий.NET класса происходит посредствам класса представления, инкапсулированного в компонент и доступного по свойству BehaviorObject интерфейса IObject.

Свойство BehaviorObject имеет тип BaseBehavior. Класс, определяющий этот тип, наследуют объекты представления всех компонентов среды разработки.

.5 Класс представления

В скомпилированном проекте среды структурно-визуального программирования обращения ко всей функциональности компонента осуществляется через объект представления.

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

Объект представления всегда является потомком класса BaseBehavior, в котором определены все основные функции, необходимые для представления функциональности.NET объекта среде разработки.

Рис. 15. ? Класс представления BaseBehavior

Содержимое класса:

-_obj содержит ссылку на.NET класс, на базе ко