Концепция компонентной технологии

Тенденция последних лет - повышение гибкости объектов, стандартизация интерфейсов, быстрая компоновка мелких объектов вместо интегрированных приложений. Все это нашло отражение в технологии COM (и в частности, ActiveX) и Java и соответствует парадигме будущего: сборочному программированию.

 

ОО-технология в основном нацелена на разработку больших программ – либо «с нуля», либо с повторным использованием классов объектов, разработанных данным производителем. Распространение библиотек классов между производителями не имеет значительных масштабов. Компонентная технология имеет целью такую сборку любых программ из готовых частей, которая исключает специфически программистсткие операции – (пере)компиляцию и (пере)компоновку. Степень готовности таких компонентов к выполнению гораздо выше, чем у библиотечных модулей или классов; они могут задействоваться через сеть или выкачиваться из Интернета для немедленного выполнения. Таким образом, появляется возможность глобального повторного использования компонентов непосредственно пользователями, а не программистами. Лидируют две такие технологии: OLE/COM/ActiveX и Java. Первая представляется более универсальной: многоязыковая и ориентированная не только на Интернет. Java имеет свои преимущества: открытость и кросс-платформенность, правда пока с трудом достигаемую.

 

В СОМ (Component Object Model) любая часть программного продукта реализует свои сервисы как один или несколько объектов СОМ, каждый из которых поддерживает один или несколько интерфейсов (в этом – одно из отличий от объектов С++), состоящих из методов.