Что такое компонентно-ориентированное программирование на Java?

Мне нужно узнать о компонентно-ориентированном программировании на Java, я считаю, что это связано с EJB, но я не уверен в этом... Это правда ?

пожалуйста, не могли бы вы дать мне некоторые ссылки, связанные с компонентно-ориентированным программированием на Java, чтобы иметь начальную точку об этом ?

спасибо !

3 ответов


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

предприятия несколько ориентированы на компоненты, так как состоят из отделов "учет", "покупка", "продажи", которые имеют полную область над определенными задачами, которые бизнес должен обеспечить.

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

драйверы базы данных JDBC являются хорошим примером компонентно-ориентированного мышления (реализованного в объектно-ориентированном мире). Вас не волнует, что драйвер базы данных, который вы кодируете, или сведения о связях с базой данных, поскольку ваш компонент (драйвер JDBC) обрабатывает все это внутренне.

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

например, если вы хотите отобразить веб-страницу, сгенерированную java, вы будет использовать компонент J2EE HttpServlet, который гарантирует, что он поместится в контейнер сервлета J2EE, который будет обрабатывать всю сантехнику приема HTTP-запросов, разлагая их на объекты Java и вызовы методов, направляя их в правильный контейнер, собирая вывод из правильного обработчика через контейнер, составляя вывод в HTTP-ответы и т. д.


давайте использовать электронику в качестве примера: все электронные устройства состоят из компонентов (транзисторов, резисторов, диодов, конденсаторов, ...) Компонент - это просто часть чего-то большего. Компонент может быть низкого качества и высокого качества. Высококачественные компоненты имеют такие функции, как:

  • хорошо определенные интерфейсы (например, провода на транзисторе) и поведение (характеристики тока/напряжения транзистора)

  • инкапсуляция (вы не надо понять, как trasistor был построен, чтобы использовать его)

  • хорошо документировано (вы можете найти документы транзистора на веб-странице поставщика)

  • многоразовый (вы можете использовать транзистор для создания многих интересных устройств)

  • меняемый (вы можете заменить транзистор сделанный одной компанией с подобным от другого)

в мире программного обеспечения компонентом может быть практически все: класс, JavaBean, Enterprise Java Bean, апплет, портлет, JAR, веб-сервер, сервер приложений, сервер баз данных, веб-служба,...

подробнее об этом здесь: http://en.wikipedia.org/wiki/Component-based_software_engineering


см. эту дискуссию о Компонентно-Ориентированный Язык Программирования

Что означает разработка на основе компонентов с учетом EJB?

EJBs являются компонентами. Группировка методов в связанные группы позволяет разрабатывать компоненты