Компонентный подход к разработке приложений
Отвлечемся от стилей, подходов, методов разработки приложений (процедурное, структурное программирование, объектно-ориентированное …) и рассмотрим проблемы, возникающие при использовании и сопровождении приложений
Обычно приложение состоит из одного монолитного двоичного файла. После того, как приложение сгенерировано компилятором, оно остается неизменным — пока не будет скомпилирована и поставлена пользователю новая версия. Чтобы учесть изменения в операционных системах, аппаратуре и желаниях пользователей, необходимо перекомпилировать приложение.
И по мере того, как вся индустрия программирования стремительно уходит все дальше в будущее, оно стареет — и устаревает. При современных темпах развития индустрии программирования приложениям нельзя оставаться застывшими. Разработчики должны найти способ вдохнуть новую жизнь в программы, которые уже поставлены пользователям. Решение состоит в том, чтобы разбить монолитное приложение на отдельные части, или компоненты (рис. 1-1).
![]() |
Рис. 1-1.Разбиение монолитного приложения (слева) на компоненты (справа) облегчает адаптацию
По мере развития технологии компоненты, составляющие приложение, могут заменяться новыми (рис. 1-2). Приложение уже более не является статичным, оно постепенно эволюционирует с заменой старых компонентов новыми. Из существующих компонентов легко создать и абсолютно новые приложения.
Традиционно приложение состояло из отдельных файлов, модулей или классов, которые компилировались и компоновались в единое целое. Разработка приложений из компонентов — так называемых приложений компонентной архитектуры — происходит совершенно иначе. Компонент подобен миниприложению; он поставляется пользователю как двоичный код, скомпилированный и готовый к использованию. Единого целого больше нет. Его место занимают специализированные компоненты, которые подключаются во время выполнения к другим компонентам, формируя приложение. Модификация или расширение приложения сводится к замене одного из составляющих его компонентов новой версией.
![]() |
Рис. 1-2.Замена компонента D на новую, улучшенную версию.
Для того, чтобы разбить монолитное приложение на компоненты, необходим мощный инструмент. Инструмент, который мы будем использовать, называется СОМ. СОМ — модель компонентных объектов (Component Object Model) — это спецификация метода создания компонентов и построения из них приложений. СОМ была разработана в Microsoft, чтобы сделать программный продукты фирмы более гибкими, динамичными и настраиваемыми. Практически все продаваемые сегодня приложения Microsoft используют СОМ. Технология ActiveX этой фирмы построена на основе компонентов СОМ. Прежде чем перейти к подробному изучению СОМ, посмотрим, какие выгоды дает компонентная архитектура и что необходимо для создания приложений из компонентов.