- Компонентно-ориентированное программирование
-
Парадигмы программирования - Агентно-ориентированная
- Компонентно-ориентированная
- Конкатенативная
- Декларативная (контрастирует с Императивной)
- Событийно-ориентированная
- Комбинаторная
- Императивная (контрастирует с Декларативной)
- Предметно-ориентированная
- Метапрограммирование
- Автоматизация процесса программирования
- Обобщённое программирование
- Рефлексивно-ориентированная
- Итерационная
- Параллельная
- Структурная
Содержание
Как развитие ООП
Компонентно-ориентированное программирование включает в себя набор ограничений, налагаемых на механизм объектно-ориентированного программирования (далее ООП). Это было сделано для повышения надежности больших программных комплексов. Проблема хрупких базовых классов возникает при изменении реализации типа-предка. В этом случае в классическом ООП возможна ситуация, когда изменить реализацию типа-предка невозможно, не нарушив корректность функционирования типов-потомков (даже при прежних интерфейсах его методов)[1].
Ситуация, когда возникает новая парадигма программирования в качестве ограничения прежней, уже была, когда возникло структурное программирование для использования структур управления, исключающих неупорядоченные переходы управления с помощью оператора GOTO, затрудняющие анализ алгоритма программы.
История
В 1987 году[2] Никлаус Вирт, унифицировав, предложил для языка Оберон паттерн написания блоков. Блок, удовлетворяющий требованиям этого паттерна, называется компонентом. Данный паттерн сформировался при изучении проблемы хрупких базовых классов, возникающей при построении объемной иерархии классов. Паттерн заключался в том, что компонент компилируется отдельно от других, а на стадии выполнения необходимые компоненты подключаются динамически.
В 1989 году[2] Бертран Мейер предложил идею единого взаимодействия между вызываемым и вызывающим компонентами. Эта идея воплотилась в виде готовых решений: CORBA, COM, SOAP и протоколу JAVA. Впоследствии поддержка со стороны языка осуществилась в компонентном Паскале.
Языки программирования
- Оберон (ограниченно)
- Компонентный Паскаль
- .NET Framework
- PHP
Отличия от ООП
- Компонент — «независимый модуль программного кода, предназначенный для повторного использования и развертывания».
- Может содержать «множественные классы».
- Как правило, независим от конкретного языка.
Примечания
- ↑ Что такое компонентно-ориентированное программирование (краткая справка) (рус.). Архивировано из первоисточника 13 февраля 2012. Проверено 25 октября 2010.
- ↑ 1 2 Архив эхоконференции RU.PHP
Ссылки
- С.В. Зыков Лекция: Компонентное программирование в .NET / Введение в теорию программирования. Объектно-ориентированный подход. intuit.ru. Архивировано из первоисточника 13 февраля 2012. Проверено 25 октября 2010.
- Rails Cells: Компонентно-Ориентированное Программирование для Rails (англ.)
- К. Пфистер «Компонентное программное обеспечение» (Pfister C. «Component Software»)
- C. Szyperski. Component Software — Beyond Object-Oriented Programming. Addison- Wesley, 1998 ISBN 978-0201178883
Для улучшения этой статьи желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
- Проставив сноски, внести более точные указания на источники.
- Викифицировать статью.
- Исправить статью согласно стилистическим правилам Википедии.
- Дополнить статью (статья слишком короткая либо содержит лишь словарное определение).
Категория:- Компонентно-ориентированное программирование
Wikimedia Foundation. 2010.
Полезное
Смотреть что такое "Компонентно-ориентированное программирование" в других словарях:
КОМПОНЕНТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ (КОП) — Парадигма программирования, ключевой фигурой которой является компонент (англ. component oriented programming, COP) Словарь бизнес терминов. Академик.ру. 2001 … Словарь бизнес-терминов
Объектно-ориентированное программирование — Эта статья во многом или полностью опирается на неавторитетные источники. Информация из таких источников не соответствует требованию проверяемости представленной информации, и такие ссылки не показывают значимость темы статьи. Статью можно… … Википедия
Интерфейс (объектно-ориентированное программирование) — У этого термина существуют и другие значения, см. Интерфейс (значения). Интерфейс (от лат. inter «между», и face «поверхность») семантическая и синтаксическая конструкция в коде программы, используемая для специфицирования… … Википедия
Класс (объектно-ориентированное программирование) — Класс, наряду с понятием «объект», является важным понятием объектно ориентированного подхода в программировании (хотя существуют и бесклассовые объектно ориентированные языки, например, Прототипное программирование). Под классом подразумевается… … Википедия
Аспектно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная … Википедия
Субъектно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная … Википедия
Событийно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная … Википедия
Структурное программирование — Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей … Википедия
Парадигма (программирование) — Парадигма программирования это совокупность идей и понятий, определяющая стиль написания программ. Парадигма, в первую очередь, определяется базовой программной единицей и самим принципом достижения модульности программы. В качестве этой единицы … Википедия
Компонент (программирование) — У этого термина существуют и другие значения, см. Компонента. Компонент в программировании, множество классов и языковых конструкций, объединенных по общему признаку. В большинстве языков программирования нет языковых конструкций прямо… … Википедия