Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
15 Сходство и отличия групп компонентов. Пример....doc
Скачиваний:
4
Добавлен:
04.08.2019
Размер:
69.63 Кб
Скачать

Вопрос №15. Сходство и отличия групп компонентов. Пример в любой среде визуальной разработки. Компонентные системы

Компонентно-ориентированный подход к проектированию и реализации программных систем и комплексов является в некотором смысле развитием объектно-ориентированного и практически более пригоден для разработки крупных и распределенных систем (например, корпоративных приложений).

Поясним понятие компонента:

  • автономный элемент программного обеспечения, предназначенный для многократного использования, который может распространяться для использования в других программах в виде скомпилированного кода класса;

  • подключение к этим программам осуществляется с помощью интерфейсов;

  • взаимодействие с программной средой осуществляется по событиям, причём в программе, использующей компонент, можно назначать обработчики событий, на которые умеет реагировать компонент.

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

Говоря о свойствах компонентов, следует, прежде всего, отметить, что это существенно более крупные единицы, чем объекты (в том смысле, что объект представляет собой конструкцию уровня языка программирования). Другими отличиями компонентов от традиционных объектов являются возможность содержать множественные классы и (в большинстве случаев) независимость от языка программирования.

Заметим, что, автор и пользователь компонента, вообще говоря, территориально распределены и используют разные языки. Вполне возможно, что они не только пишут программы, но и говорят на разных языках.

Преимущества компонентного программирования

  • Снижение стоимости программного обеспечения.

  • Повторное использование кода.

  • Унификация обработки объектов различной природы.

  • Менее человеко-зависимый процесс создания программного обеспечения.

  • Концепция универсальна и одинаково применима для функционального программирования и ООП.

Примеры компонентных систем

Компонентная объектная модель (или Component Object Model, COM) является изначальным стандартом, принятым для компонентной разработки приложений в корпорации Microsoft.

Компонентная модель COM определяет протокол для конкретизации (т.е. создания экземпляров) и использования компонент (по аналогии с классами и объектами) как внутри одного и того же процесса, так и между различными процессами или компьютерами, предназначенными для выполнения того или иного программного проекта, основанного на компонентной технологии. Модель COM является достаточно универсальной и используется в качестве фундамента для таких технологий проектирования и реализации программного обеспечения, как ActiveX, OLE и целого ряда других технологий. Приложения для COM‑модели могут создаваться средствами таких языков и сред разработки как Visual Basic, C++, .NET и т.д.

Другим известным стандартом для компонентной модели является стандарт компании Sun Microsystems, известный как JavaBeans, который не обладает свойством независимости от языка программирования.

Еще один широко используемый стандарт компонентного программирования – архитектура объектных запросов CORBA (несмотря на поддержку многоязычной разработки приложений, существуют небольшие сложности, связанные с отображением одного языка реализации в другой; для этой цели применяется достаточно громоздкий интерфейс, основанный на специальном языке описания IDL).

А также – читайте после рекламы – OSGi и ZeroC ICE.

COM

COM Component Object Model — Объектная Модель Компонентов) — это технологический стандарт от компании Microsoft, предназначенный для создания программного обеспечения на основе взаимодействующих распределённых компонентов, каждый из которых может использоваться во многих программах одновременно. Технология воплощает в себе идеи полиморфизма и инкапсуляции объектно-ориентированного программирования. Технология COM могла бы быть универсальной и платформо-независимой, но закрепилась в основном на операционных системах семейства Microsoft Windows. В современных версиях Windows COM используется очень широко. На основе COM также было создано множество других технологий: Microsoft OLE Automation, ActiveX, DCOM, COM+, а также XPCOM.