2011-02-09 19 views
7

Necesito aprender acerca de la programación orientada a componentes en Java, creo que esto está relacionado con EJB pero no estoy seguro de eso ... ¿Es esto cierto?¿Qué es la programación orientada a componentes en Java?

¿Podría darme algunos enlaces relacionados con la programación orientada a componentes en Java para tener un punto de partida al respecto?

Gracias!

Respuesta

6

La programación orientada a componentes es un método para descomponer un problema en secciones principales ("componentes"), cada una de las cuales tiene un papel o dominio de responsabilidad particular para resolver el problema.

Las empresas están orientadas a los componentes, ya que consisten en departamentos "contabilidad", "compras", "ventas", que tienen dominio completo sobre ciertas tareas que la empresa debe proporcionar.

Las diferencias entre la orientación del objeto y la orientación del componente son de escala y reutilizables. El pensamiento orientado a objetos tiende a centrarse en la estrecha integración de objetos pequeños, donde los objetos se reutilizan en toda una oferta de software. El pensamiento orientado a componentes tiende a centrarse en silos de responsabilidad que operan principalmente de forma independiente y pueden compartir o no objetos comunes con otros componentes.

Los controladores de bases de datos JDBC son un buen ejemplo del pensamiento orientado a componentes (implementado en un mundo orientado a objetos). No le importa con qué controlador de base de datos codifica o los detalles de las comunicaciones de la base de datos, ya que su componente (el controlador JDBC) maneja todo eso internamente.

Los diferentes tipos de EJB también son componentes. Para cada problema que desee resolver, debe seleccionar el componente J2EE que proporciona el enfoque general correcto y luego extenderlo para proporcionar los detalles necesarios de la solución.

Por ejemplo, si desea mostrar una página web generada en java, usaría un componente J2EE HttpServlet, que aseguraría que encajaría en un contenedor de servlets J2EE que manejaría todas las tuberías de recepción de solicitudes HTTP, descomponiéndolas Objetos en Java y las llamadas a métodos, dirigiendo al contenedor correcto, la recolección de la salida desde el controlador correcto a través del contenedor, que componen el resultado en las respuestas HTTP, etc.

1

ver esta discusión sobre Component Oriented Programming Language

¿Qué significa desarrollo basado en componentes con respecto a EJB?

Los EJB son componentes. La agrupación de sus métodos en grupos relacionados le permite desarrollar componentes

2

Vamos a usar la electrónica como un ejemplo: todos los dispositivos electrónicos están compuestos por componentes (transistores, resistencias, diodos, condensadores, ...) Un componente es sólo una parte de algo más grande. Un componente puede ser de mala calidad y de alta calidad. Los componentes de alta calidad tienen características como:

  • interfaces bien especificadas (por ej.cables en el transistor), y el comportamiento (características de corriente del transistor/tensión)

  • encapsulación (no se tiene que entender cómo trasistor fue construido para usarlo)

  • bien documentada (se puede encontrar documentación de transistores en página web del vendedor)

  • reutilizable (se puede utilizar el transistor para construir muchos dispositivos interesantes)

  • sustituible (puede reemplazar el transistor realizadas por una empresa con similares de otros)

En el mundo de software de un componente puede ser casi todo: una clase, JavaBean, Enterprise Java Bean, applet, portlets, JAR, servidor web, servidor de aplicaciones, servidor de base de datos, servicios web, ...

Más sobre esto aquí: http://en.wikipedia.org/wiki/Component-based_software_engineering

+0

hi iirekm, ¿Pueden los archivos CSS, js, ser componentes en Java EE? – ThanhLD

Cuestiones relacionadas