Компонентно-ориентированное программирование
Компонентно-ориентированное программирование (англ. component-oriented programming, COP) — парадигма программирования, существенным образом опирающаяся на понятие компонента — независимого модуля исходного кода программы, предназначенного для повторного использования и развёртывания и реализующегося в виде множества языковых конструкций (например, «классов» в объектно-ориентированных языках программирования), объединённых по общему признаку и организованных в соответствии с определёнными правилами и ограничениями.
История
Компонентно-ориентированный подход появился в 1987 году[1], когда Никлаус Вирт предложил для языка «Оберон» паттерн написания блоков. Данный паттерн сформировался при изучении проблемы «хрупких» базовых классов, возникающей при построении объёмной иерархии классов. Паттерн заключался в том, что компонент компилируется отдельно от других, а на стадии выполнения — необходимые компоненты подключаются динамически.
В 1989 году[1] — Бертран Мейер предложил идею единого взаимодействия между вызываемым и вызывающим компонентами. Эта идея воплотилась в виде готовых решений: CORBA, COM, SOAP. Впоследствии поддержка со стороны языка осуществилась в «Компонентном Паскале».
Ситуация со внедрением компонентно-ориентированного подхода, — как ограничения для существующих парадигм программирования, — сходна с появлением структурного программирования, которое ограничивало неупорядоченные переходы управления с помощью оператора «GOTO» (затруднявшего анализ алгоритма программы для уже существующих языков и не привносившего новых конструкций).
Реализация в различных языках программирования
Компонентно-ориентированный подход может применяться во многих языках программирования с помощью стандартных конструкций (таких как: классы, интерфейсы, пакеты, модули).
- Существуют языки программирования, реализующие на конструктивном уровне компонентно-ориентированное программирование:
- Оберон (ограниченно);
- Компонентный Паскаль.
- В рамках языка Java — компонентно-ориентированное программирование реализуется посредством компонентов, называемых JavaBeans, поддержанных в одной из ранних спецификаций языка;
- В платформе .NET — реализован компонентно-ориентированный подход, обеспечивающий создание и повторное использование компонентов для любого языка программирования, поддерживаемого платформой.
Примечания
- ↑ 1,0 1,1 Архив эхоконференции RU.PHP (недоступная ссылка). Дата обращения: 25 октября 2010. Архивировано 1 января 2015 года.
Ссылки
- С.В. Зыков. Лекция: Компонентное программирование в .NET / Введение в теорию программирования. Объектно-ориентированный подход . intuit.ru. Дата обращения: 25 октября 2010.
- Rails Cells: Компонентно-Ориентированное Программирование для Rails (англ.)
- К. Пфистер «Компонентное программное обеспечение» (Pfister C. «Component Software»)
- C. Szyperski. Component Software — Beyond Object-Oriented Programming. Addison- Wesley, 1998 ISBN 978-0-201-17888-3
Для улучшения этой статьи желательно: |