Programación orientada a componentes

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

La programación orientada a componentes (que también es llamada basada en componentes) es una rama de la ingeniería del software, con énfasis en la descomposición de sistemas ya conformados en componentes funcionales o lógicos con interfaces bien definidas usadas para la comunicación entre componentes.

Se considera que el nivel de abstracción de los componentes es más alto que el de los objetos y por lo tanto no comparten un estado y se comunican intercambiando mensajes que contienen datos.

Componente de software[editar]

Definición[editar]

Un componente de software es un elemento de un sistema que ofrece un servicio predefinido, y es capaz de comunicarse con otros componentes.

Una definición más simple puede ser: Un componente es un objeto escrito de acuerdo a unas especificaciones. No importa que especificación sea esta, siempre y cuando el objeto se adhiera a la especificación. Solo cumpliendo correctamente con esa especificación es que el objeto se convierte en componente y adquiere características como reusabilidad.

Cuando se necesita el acceso a un componente o cuando este debe ser compartido entre distintas redes, se recurre a procesos como la serialización para entregar el componente a su destino.

La capacidad de ser reutilizado (reusability), es una característica importante de los componentes de software de alta calidad. Un componente debe ser diseñado e implementado de tal forma que pueda ser reutilizado en muchos programas diferentes.

Requiere gran esfuerzo y atención escribir un componente que es realmente reutilizable. Para esto, el componente debe estar:

  • Completamente documentado.
  • Probado intensivamente:
    • Debe ser robusto, comprobando la validez de las entradas.
    • Debe ser capaz de pasar mensajes de error apropiados.
  • Diseñado pensando en que será usado de maneras imprevistas.

Algunas especificaciones para componentes[editar]

Véase también[editar]

Enlaces externos[editar]