Programación orientada a componentes
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.
Índice |
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]
Referencias [editar]
- Esta obra deriva de la traducción de Component based programming, publicada bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported por editores de la Wikipedia en inglés.