Компонентная архитектура

Ключевым понятием компонентной архитектуры является компонент (component). Это программный объект, который спроектированный так, чтобы удовлетворять следующим требованиям:

1. Компонент допускает повторное использование в различных системах.

2. Компонент не хранит информации, специфичной для конкретного ПО, в котором он используется.

3. Допускается создание новых компонентов на основе существующих.

4. Компонент имеет известный интерфейс для взаимодействия, но скрывает детали своей внутренней реализации.

5. Компоненты проектируются так, чтобы иметь минимальные зависимости от других компонентов.

Типичным примером компонентов являются элементы пользовательского интерфейса (элементы управления).

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

– Лёгкость развёртывания. Когда для компонента доступна новая версия, старая версия заменяется без влияния на остальные компоненты.

– Уменьшение стоимости. При разработке можно применять готовые компоненты сторонних производителей.

– Повторное использование. Одни и те же компоненты могут использоваться в нескольких приложениях.

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