Определение компоненты. В каком виде реализуется компонента в .NET?

Компонент — это отдельный независимый модуль, предназначенный для многократного повторного использования и предоставляемый пользователю-программисту в откомпилированном виде.

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

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

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

Технология COM

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

Основным понятием, которым оперирует стандарт COM, является COM-компонент. Программы, построенные на стандарте COM, фактически не являются автономными программами, а представляют собой набор взаимодействующих между собой COM-компонентов. Каждый компонент имеет уникальный идентификатор (GUID) и может одновременно использоваться многими программами. Компонент взаимодействует с другими программами через COM-интерфейсы — наборы абстрактных функций и свойств. Каждый COM-компонент должен, как минимум, поддерживать стандартный интерфейс «IUnknown», который предоставляет базовые средства для работы с компонентом. Интерфейс «IUnknown» включает в себя три метода: QueryInterface, AddRef, Release.

Стандарт компонентной модели JavaBeans

JavaBeans - это технология создания компонент многоразового использования.

Компонент JavaBeans должен отвечать нескольким условиям:

- способность к инициализации нового экземпляра, JavaBeans не может быть интерфейсом или абстрактным классом;

- наличие коструктора по умолчанию, то-есть конструктора без параметров;

- поддержка сериализации, в классе должен быть реализован интерфейс Serializable или Externalizable, для поддержки записи и чтения данных компонента в поток и из потока.

CORBA

CORBA - это аббревиатура от названия Common Object Request Broker Architecture, что на русский язык переводится как "общая архитектура брокера объектных запросов". Разработана эта технология с целью обеспечения объектно-ориентированной коммуникации между частями одного приложения так, как если бы они не были распределены.

Суть CORBA состоит в следующем: каждый компонент распределённого приложения имеет доступ к открытым методам других компонентов, которые он может вызывать на выполнение. О том, какие есть методы, он узнаёт с помощью интерфейсов, описание которых осуществляется на специальном языке IDL - Interface Definition Language.

Компонентное программирование в технологии .NET.

Технология DCOM и механизм Маршаллинга для него.

Понятие сборки в .NET

В платформе .NET появилось новое понятие - сборка (assembly). В первом приближении сборку можно воспринимать как аналог EXE или DLL; более того, в случае приложения, состоящего из одного файла, сборка даже имеет расширение .exe или .dll. Несмотря на это сходство, сборка содержит существенно больше информации о приложении, чем традиционные исполняемые файлы.

Понятие сборки было введено для того, чтобы решить эти проблемы. Сборка представляет собой набор файлов, модулей и дополнительной информации, которые должны обеспечить простую установку приложения и последующую работу. Таким образом, можно говорить и о том, что повторное использование приложений может быть реализовано с помощью интеграции различных сборок.

С точки зрения структуры любая сборка .NET (* . dll или * . ехе) включает в себя следующие элементы.

• заголовок файла Windows;

• заголовок файла CLR;

• CIL-код;

• метаданные типов;

• манифест сборки;

• дополнительные встроенные ресурсы.

Наши рекомендации