La diferencia entre un objeto pasivo y un objeto activo en UML

...

UML ayuda a simplificar la representación de la lógica interna de un programa.

El "Lenguaje de modelado unificado", o UML, es un lenguaje diseñado para mostrar cómo está organizado el software; Los ingenieros pueden usar UML para diagramar el flujo de información en un programa, lo que les permite comprender mejor cómo se puede simplificar o modificar. Al modelar el flujo de información, UML distingue entre "objetos activos" que pueden iniciar ese flujo y "objetos pasivos" que no pueden.

Objetos y clases

Cuando se trata de la denominada programación "orientada a objetos", las ciencias de la computación diferencian entre un "objeto" y una "clase". Una clase es un descripción generalizada de un conjunto de cosas, como variables o métodos, mientras que un "objeto" es una "instancia" de esa clase, con su propia y única propiedades. Piense en las clases como un modelo o un modelo; en el mundo físico, "instrumento de escritura" podría considerarse una clase, con ejemplos de "bolígrafo" o "crayón naranja" de "objetos" de ese tipo de clase en particular.

Video del día

Objetos en UML

UML conserva una distinción similar entre clases y objetos, y se representan de la misma manera; Las clases UML contienen descripciones amplias y los objetos UML contienen valores específicos que representan instancias de esas descripciones. Por lo tanto, formalmente hablando, un "objeto activo" en UML es cualquier instancia de una "clase activa" y, de manera similar, un "objeto pasivo" objeto "es una instancia de una" clase pasiva "; en un sentido teórico, podría considerar que estos términos son esencialmente intercambiable.

Objetos activos

En UML, las clases activas y, por lo tanto, los objetos activos, existen en su propio hilo de operaciones y tienen su propio espacio de direcciones. Si la ejecución, o la actividad del código, se piensa en términos de flujo, los objetos activos pueden iniciar o controlar ese flujo. Los objetos activos, en otras palabras, son secuenciales y hacen algo: modificar variables, cambiar el comportamiento del programa, etc. En UML, las clases y los objetos activos se distinguen por tener un borde más grueso que los objetos pasivos.

Objetos pasivos

Los objetos pasivos en UML generalmente no tienen la capacidad de modificar o comenzar el flujo de ejecución, porque deben esperar a que otro objeto los llame. En cambio, los objetos pasivos se utilizan generalmente para almacenar información y, en muchos casos, esta información puede compartirse entre varios otros objetos. Esto puede permitir que se acceda a los objetos pasivos de forma simultánea, no secuencial. Para asegurarse de que los datos contenidos en el interior tengan una alta integridad, UML permite que los objetos pasivos insistan en que se acceda a ellos secuencialmente; si dos subprocesos intentan llamar al mismo objeto pasivo secuencial, ese objeto puede retrasar el segundo subproceso hasta que el primero haya terminado con él.