Pregunta ¿Cuál es la diferencia entre un lenguaje orientado a componentes y orientado a objetos?


Encontré esta línea en un libro sobre WCF:

... y los lenguajes utilizados para escribir componentes COM (como C ++ y Visual Basic) estaban en el mejor de los casos orientados a objetos pero no orientados a componentes ...

¿Cuál es la diferencia entre los dos?


13
2018-06-25 22:39


origen


Respuestas:


Mi opinión / comprensión probablemente sea errónea y voy a disparar en llamas por escribir esto.

Objeto Orientado a "mí" significa una forma de reconocer los modelos de datos clave esenciales para el contexto del problema y los métodos correspondientes que manipulan el estado de estos datos, también dentro del contexto del problema. Es un patrón para organizar datos. Otro patrón se organiza simplemente sobre la base de funciones subdivididas en niveles manejables: procedurales.

Al patrón orientado a componentes no le importa tanto cómo organizas tus diferentes piezas de modelos de datos, pero cómo los atas?. Así es como hablan el uno al otro. Podría ser de muchas formas COM / RPC, servicios web (RESTO / SOAP), etc. Eso es un acoplamiento flojo o acoplamiento ajustado.

Y el autor simplemente intenta decir que las capacidades COM se construyeron con un lenguaje que no proporciona las funciones COM integradas en él :)

Según entiendo, la afirmación es incorrecta ya que la elección de vincular los componentes es una abstracción de un nivel superior al que proporciona un lenguaje como C / C ++. COM solo proporciona una de las maneras de atar los componentes.


7
2018-06-25 22:59



Aquí está mi opinión,

La herencia frente a las interfaces parece ser un tema que se menciona mucho cuando se habla de 2.

También creo que el diseño del componente implica que se trata de cajas negras

El diseño de componentes también parece abarcar sistemas que van más allá de un único espacio de memoria. Así que llamar a servicios web u otros servicios remotos.

No diría que estos son paradigmas competitivos, sino paradigmas diferentes.


0
2018-03-18 22:28