Компонентная разработка не является чем-то новым. Я не знаю о компонентно-управляемой разработке, но я собираюсь предположить, что это КБР. Это то, как спроектирован Unix, куча заменяемых небольших программ, каждая из которых выполняет одну вещь очень хорошо. В области настольных компьютеров Delphi VCL успешно использует компоненты с богатыми компонентами многократного использования и сторонним рынком, как никто другой. Сейчас мы наблюдаем возрождение КБР, так как некоторые технологии развиваются. Например, простые веб-приложения развиваются в SOA и RESTful WS. Все о парнях Java говорили о модульности и IoC.
Ответ, который вы ищете, скорее всего, будет найден в Почему и что из обращения Инверсии Контроля Ке Джина.
Кроме того, императив естественного
эти классические языки программирования ОО
как правило, скучаю по лесу (высокий уровень
архитектуры / структуры) для
деревья (низкоуровневое логическое управление
процессуальный кодекс). Разработка и
инженеры по обслуживанию, берущие на себя
существующее приложение должно полагаться на
его устаревший дизайн / архитектура
документы и код низкого уровня
комментарии / шаблоны.
Компонентно-ориентированная разработка (CBD)
парадигма решает две проблемы выше
сдвигая водопроводную логику в
рамки, которые манипулируют компонентами
и настроить приложения на основе
пользователи / разработчики предоставили декларативный
описания. Вопреки общему
путаница, такая декларативная
описания не предназначены для
скрипты настройки приложения. Скорее,
их основное намерение состоит в том, чтобы
явное заявление
архитектуры / структуры без
предписывая их императивной сантехники
процедуры (а именно описать то, что
а не как). Цель КБР
Парадигма заключается в поддержке эффективного и
гибкие аппликации
эти рамки и имеющие
разработчики приложений сосредоточены на
бизнес логика и проблемы домена
без учета низкого уровня сантехники
Сложности.
Рамки КБР, объединяющие
декларативные описания приложений
и метод IoC упоминаются
как рамки IoC. Вопреки их
предшественники, IoC фреймворки
неинвазивный и использовать
Внедрение зависимости / конфигурации / сценарий .
Согласно Википедии, разработка на основе компонентов является псевдонимом для Разработка программного обеспечения на основе компонентов (CBSE) .
[Это] филиал программного обеспечения
инжиниринг, приоритетом которого является
разделение интересов в отношении
широких функциональных возможностей
доступны во всем данном программном обеспечении
система.
Это немного расплывчато, поэтому давайте рассмотрим более подробно.
Отдельный компонент - это программное обеспечение
пакет или модуль, который
инкапсулирует набор связанных
функции (или данные).
Все системные процессы размещены в
отдельные компоненты, так что все
данные и функции внутри каждого
компонент семантически связан
(так же, как с содержанием
классы). Из-за этого принципа
часто говорят, что компоненты
модульные и связные .
Таким образом, согласно этому определению, компонент может быть чем угодно, если он действительно хорошо выполняет одну вещь и только одну вещь.
Что касается всей системы
координация, компоненты сообщают
друг с другом через интерфейсы . [...]
Этот принцип приводит к компонентам, которые называются инкапсулированными .
Так что все больше и больше похоже на то, как мы думаем о хорошем API или SOA.
Предоставленные интерфейсы представлены леденцом на палочке, а необходимые интерфейсы представлены символом открытого гнезда, прикрепленным к внешнему краю компонента в UML.
![alt text](https://i.stack.imgur.com/iiGCM.gif)
(источник: wikimedia.org )
Еще один важный атрибуткомпоненты в том, что они
заменяемый , так что компонент
может быть заменен другим (в
время разработки или выполнения), если
требования исходного компонента
(выражается через интерфейсы) встречаются
компонентом-преемником.
Повторное использование является важным
характеристика высокого качества
программный компонент. Программное обеспечение
Компонент должен быть разработан и
реализовано так, чтобы его можно было повторно использовать
во многих разных программах.
Заменимость и возможность повторного использования - вот что делает компонент компонентом.
Так в чем же разница между этим и объектно-ориентированным программированием?
Идея в объектно-ориентированном
программирование (ООП) это программное обеспечение
должно быть написано в соответствии с
ментальная модель фактического или воображаемого
объекты, которые он представляет. [...]
Компонентная разработка программного обеспечения,
напротив, не делает такого
предположения, а вместо этого говорится, что
программное обеспечение должно быть разработано путем склеивания
сборные компоненты вместе много
как в области электроники или
механика.