Paso de mensajes


En informática , el paso de mensajes es una técnica para invocar un comportamiento (es decir, ejecutar un programa ) en una computadora . El programa que invoca envía un mensaje a un proceso (que puede ser un actor u objeto ) y se basa en ese proceso y su infraestructura de soporte para luego seleccionar y ejecutar algún código apropiado. El paso de mensajes difiere de la programación convencional donde un proceso, subrutina o función se invoca directamente por su nombre. El paso de mensajes es clave para algunos modelos de programación simultánea y orientada a objetos .

El paso de mensajes es omnipresente en los programas informáticos modernos . [ cita requerida ] Se utiliza como una forma para que los objetos que componen un programa trabajen entre sí y como un medio para que los objetos y sistemas que se ejecutan en diferentes computadoras (por ejemplo, Internet ) interactúen. El paso de mensajes puede implementarse mediante varios mecanismos, incluidos los canales .

El paso de mensajes es una técnica para invocar un comportamiento (es decir, ejecutar un programa) en una computadora. En contraste con la técnica tradicional de llamar a un programa por su nombre, el paso de mensajes usa un modelo de objeto para distinguir la función general de las implementaciones específicas. El programa que invoca envía un mensaje y confía en el objeto para seleccionar y ejecutar el código apropiado. Las justificaciones para usar una capa intermedia se dividen esencialmente en dos categorías: encapsulación y distribución.

La encapsulación es la idea de que los objetos de software deberían poder invocar servicios en otros objetos sin saber o preocuparse por cómo se implementan esos servicios. La encapsulación puede reducir la cantidad de lógica de codificación y hacer que los sistemas sean más fáciles de mantener. Por ejemplo, en lugar de tener declaraciones SI-ENTONCES que determinan qué subrutina o función llamar, un desarrollador puede simplemente enviar un mensaje al objeto y el objeto seleccionará el código apropiado según su tipo.

Uno de los primeros ejemplos de cómo se puede utilizar esto fue en el dominio de los gráficos por computadora. Hay varias complejidades involucradas en la manipulación de objetos gráficos. Por ejemplo, el simple hecho de usar la fórmula correcta para calcular el área de una forma encerrada variará dependiendo de si la forma es un triángulo, un rectángulo, una elipse o un círculo. En la programación de computadoras tradicional, esto daría como resultado largas declaraciones SI-ENTONCES que prueban qué tipo de objeto es la forma y llaman al código apropiado. La forma orientada a objetos de manejar esto es definir una clase llamada Shapecon subclases como Rectangley Ellipse(que a su vez tienen subclases Squarey Circle) y luego simplemente enviar un mensaje a cualquiera Shapepidiéndole que calcule su área. CadaShapeobject entonces invocará el método de la subclase con la fórmula apropiada para ese tipo de objeto. [1]

El paso de mensajes distribuidos proporciona a los desarrolladores una capa de la arquitectura que proporciona servicios comunes para construir sistemas compuestos por subsistemas que se ejecutan en computadoras dispares en diferentes ubicaciones y en diferentes momentos. Cuando un objeto distribuido envía un mensaje, la capa de mensajería puede encargarse de problemas como: