Red de conocimiento informático - Consumibles informáticos - ¿Cuáles son las diferencias entre los tres modelos de programación: orientado a objetos, orientado a servicios y orientado a componentes?

¿Cuáles son las diferencias entre los tres modelos de programación: orientado a objetos, orientado a servicios y orientado a componentes?

Falta una palabra después de los tres datos, a saber: "programación", "arquitectura" y "desarrollo" (o "ingeniería de software"). Al mismo tiempo, no es "para" los componentes sino "basado en" los componentes.

La programación orientada a objetos es un paradigma de programación. Se refiere a la forma en que los objetos de instancia de clase se utilizan ampliamente al diseñar programas. Una vez que se utiliza la programación orientada a objetos en un proyecto, se convierte en algo que debe considerarse en todo momento.

La arquitectura orientada a servicios es un conjunto de principios o metodología para diseñar software en un conjunto de servicios interoperables. Generalmente se menciona SOA cuando se considera la arquitectura del sistema.

El desarrollo basado en componentes es una práctica de ingeniería de software que generalmente requiere una alta cohesión y un acoplamiento flexible entre los componentes durante el diseño. La interfaz puede ser OO y el método de llamada puede ser Servicio. El desarrollo basado en componentes se centra en el diseño de los niveles del sistema, los límites de los subsistemas y la comunicación entre subsistemas. Está a nivel de código, pero a diferencia de la programación orientada a objetos, es algo que debe usarse todo el tiempo.

Los tres se encuentran en diferentes niveles de desarrollo de software, por lo que no es apropiado decir "en qué campos" se utilizan. No importa en qué campo del desarrollo de software se encuentre, es posible que deba enfrentarse a OOP, SOA y CBD al mismo tiempo.