- Компонентный подход предполагает построение программного обеспечения из отдельных компонентов физически отдельно существующих частей программного обеспечения, которые взаимодействуют между собой через стандартизованные двоичные интерфейсы.
- Компонентный подход лежит в основе технологий, разработанных на базе COM (Component Object Model - компонентная модель объектов), и технологии создания распределенных приложений CORBA (Common Object Request Broker Architecture - общая архитектура с посредником обработки запросов объектов).

Рисунок 1.6 Компонентная архитектура
- По технологии СОМ приложение предоставляет свои службы, используя специальные объекты - объекты СОМ, которые являются экземплярами классов СОМ. Объект СОМ так же, как обычный объект включает поля и методы, но в отличие от обычных объектов каждый объект СОМ может реализовывать несколько интерфейсов, обеспечивающих доступ к его полям и функциям (рисунок 1.6).
Отличительной особенностью современного этапа развития технологии программирования, кроме изменения подхода, является создание и внедрение автоматизированных технологий разработки и сопровождения программного обеспечения, которые были названы CASE- технологиями (Computer-Aided Software/System Engineering - разработка программного обеспечения/программных систем с использованием компьютерной поддержки). Без средств автоматизации разработка достаточно сложного программного обеспечения на настоящий момент становится трудно осуществимой: память человека уже не в состоянии фиксировать все детали, которые необходимо учитывать при разработке программного обеспечения. На сегодня существуют CASE-технологии, поддерживающие как структурный, так и объектный (в том числе и компонентный) подходы к программированию.
Появление нового подхода не означает, что отныне все программное обеспечение будет создаваться из программных компонентов, но анализ существующих проблем разработки сложного программного обеспечения показывает, что он будет применяться достаточно широко.
(лекция 2)
Объектно-ориентированное программирование (ООП) — это методика разработки программ, в основе которой лежит понятие объекта, как некоторой структуры, описывающей объект реального мира, его поведение. Задача, решаемая с помощью методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.
Расширяя рамки сложного типа данных — записи (record), концепция объектно-ориентированного программирования позволяет программисту определять классы. Тип данных класс – сложная структура, включающая в себя помимо описания данных описание процедур и функций, которые могут быть выполнены над представителем класса — объектом.
Пример описания простого класса:
type
TPerson = class
private
fname : string[15];
faddress : string[40];
public
procedure Show;
end;
Данные класса называются полями, процедуры и функции – методами. В приведенном примере TPerson – это имя класса, fname и faddress – имена полей, а Show – имя метода. Свойства - виртуальные характеристики объектов, базирующиеся на значениях конкретных полей. Оспределение значения свойства и изменение его значения выполняются в рамках соответствующих методов.
Объекты — экземпляры класса описываются в разделе var:
var
Student : TPerson;
Professor : TPerson;
Переменная типа объект является ссылочной. Она хранит адрес динамической структуры в памяти, содержащей ссылку на класс объекта и значения его полей. В отличие от полей, которые у каждого объекта свои, методы у разных объектов одного класса общие (поэтому нет необходимости каждому объекту хранить адреса его методов – достаточно ссылки на класс). От обычных процедур и функций методы отличаются тем, что при вызове им передается указатель на тот объект, который вызвал метод. Внутри метода этот объект доступен под зарезервированным именем Self.