
Подготовка программных средств
353
В
основе реализации компонентной идеологии лежит тот факт,
что фундаментальных операций над информацией сравнительно
немного - сбор, передача, извлечение, ввод и вывод, вычисления,
преобразования, представление (структуризация), размещение,
хранение, настройка, администрирование, защита, контроль и
диагностика.
Такой ограниченный набор операций облегчает возможность
унификации программных компонентов (проектных решений и
их элементов) и прежде всего тех, которые являются базовыми,
т.е.
не затрагивают специфичной бизнес-логики приложений. Ес-
тественно, что разработка таких компонентов требует участия
программистов высокой квалификации, так как предъявляет по-
вышенные требования к уровню абстракции при их создании. Наи-
более опытные специалисты будут конструировать компоненты,
а основная масса менее квалифицированных программистов зай-
мется простыми задачами сборки приложений на их основе.
При этом выработка стандартов на компоненты гарантирует
следующие свойства последних:
• компоненты со схожими спецификациями становятся взаи-
мозаменяемыми и допускают независимую модернизацию;
• разработчики могут адаптировать как внешний вид пред-
ставления, так и поведение (действия) компонентов в заранее ого-
воренных пределах;
• компоненты можно объединять друг
с
другом, формируя бо-
лее крупные компоненты и законченные приложения.
Таким образом, стандарты компонентов играют ключевую
роль в процессе создания приложений, позволяя реализовывать
все преимущества, заложенные в технологии повторно использу-
емых компонентов, - повышенную производительность, едино-
образие, простоту применения и ускоренный цикл разработки.
Кроме
того,
стандартами компонентов определяется специаль-
ная информация (метаданные):
• информация о самом компоненте, которая описывает его об-
щие характеристики, относящиеся к этапам компиляции и выпол-
нения, в том числе указания о том, где можно найти компонент и
как его активизировать;
• внешние ссылки, указывающие на метаданные, описываю-
щие другие компоненты;
• описатели типа, интерфейсы и т.д.