Что такое компонентно-ориентированное программирование в Java? - PullRequest
7 голосов
/ 09 февраля 2011

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

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

Спасибо!

Ответы [ 3 ]

6 голосов
/ 09 февраля 2011

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

Предприятия в некоторой степени ориентированы на компоненты, поскольку состоятотделов «бухгалтерия», «закупки», «продажи», которые имеют полный контроль над определенными задачами, которые должен обеспечить бизнес.

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

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

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

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

2 голосов
/ 09 февраля 2011

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

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

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

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

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

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

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

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

1 голос
/ 09 февраля 2011

см. Обсуждение Компонентно-ориентированного языка программирования

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

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

...