Главная » C#, Компоненты » Общая архитектура компонентов

0

Компоненты имеют две "стороны жизни" — во время разработки формы в Visual Studio (design time) и во время выполнения готовой программы (run-time). Конечно, в рамках этой книги нас будет интересовать первый режим.

На рис. 4.1 показана архитектура времени разработки. Еще раз повторю несколько основных положений компонентной модели:

? управление поведением и видом компонентов производится с помощью свойств;

О каждое свойство компонента имеет определенный тип;

0 для взаимодействия с "внешним миром" компонент имеет события;

О редактирование свойств и событий производится с помощью редактора свойств.

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

Кроме того, также с помощью атрибутов к типу или свойству привязывается дизайнер (designer), конвертер типа (type converter) и редактор типа (U1 type editor). Дизайнер позволяет управлять набором свойств компонента и его поведением в режиме разработки, создавать пользовательские меню, теги и многое другое (см. главу 6). Конвертер типа обеспечивает преобразование пользовательского типа в тип, который понятен редактору свойств (см. главу 8). Редактор типа позволяет отображать пользовательские диалоги для редактирования свойств компонента (см. главу 9).

Рис. 4.1. Архитектура времени разработки

Дизайнеры могут использовать сервисы времени разработки (design time services), предоставляемые средой Visual Studio (см. главу 7), которые предоставляют компоненту информацию о происходящих событиях, изменениях других свойств и компонентов и т. д. Кроме того, дизайнеры, конвертеры типов и редакторы типов могут использовать редакторы свойств (properties window), а дизайнеры также могут использовать дизайнеры форм (form designer). Замечу, что конвертеры типов и редакторы типов могут применяться как в режиме разработки, так и во время выполнения, а дизайнеры работают только во время разработки.

Каждую из этих сущностей мы рассмотрим в соответствующих главах книги.

Литература:

Агуров П. В. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-Петербург, 2008. — 480 е.: ил.

По теме:

  • Комментарии