A diferença entre um objeto passivo e um objeto ativo em UML

...

UML ajuda a simplificar a representação da lógica interna de um programa.

A "Unified Modeling Language", ou UML, é uma linguagem projetada para mostrar como o software é organizado; os engenheiros podem usar UML para diagramar o fluxo de informações em um programa, permitindo-lhes entender melhor como ele pode ser simplificado ou alterado. Ao modelar o fluxo de informações, a UML distingue entre "objetos ativos" que podem iniciar esse fluxo e "objetos passivos" que não podem.

Objetos e Classes

Quando se trata da chamada programação "orientada a objetos", a ciência da computação diferencia entre um "objeto" e uma "classe". Uma classe é um descrição generalizada de um conjunto de coisas - como variáveis ​​ou métodos - enquanto um "objeto" é uma "instância" dessa classe, com sua própria propriedades. Pense nas classes como um projeto ou modelo; no mundo físico, "instrumento de escrita" pode ser considerado uma classe, com exemplos de "caneta" ou "giz de cera laranja" de "objetos" desse tipo específico de classe.

Vídeo do dia

Objetos em UML

A UML preserva uma distinção semelhante entre classes e objetos, e eles são representados da mesma maneira; As classes UML contêm descrições amplas e os objetos UML contêm valores específicos que representam instâncias dessas descrições. Falando formalmente, portanto, um "objeto ativo" em UML é qualquer instância de uma "classe ativa" e, da mesma forma, um "objeto ativo" objeto "é uma instância de uma" classe passiva "- em um sentido teórico, você pode considerar que esses termos são essencialmente intercambiável.

Objetos Ativos

Na UML, as classes ativas e, portanto, os objetos ativos, existem em seu próprio encadeamento de operações e têm seu próprio espaço de endereço. Se a execução, ou atividade de código, for pensada em termos de fluxo, os objetos ativos podem iniciar ou controlar esse fluxo. Em outras palavras, os objetos ativos são sequenciais e fazem alguma coisa: modificar variáveis, alterar o comportamento do programa e assim por diante. Na UML, as classes e objetos ativos são diferenciados por terem uma borda mais espessa do que os objetos passivos.

Objetos Passivos

Os objetos passivos em UML geralmente não têm a capacidade de modificar ou iniciar o fluxo de execução, porque devem esperar que outro objeto os chame. Em vez disso, os objetos passivos geralmente são usados ​​para armazenar informações e, em muitos casos, essas informações podem ser compartilhadas entre vários outros objetos. Isso pode permitir que objetos passivos sejam acessados ​​simultaneamente, não sequencialmente. Para certificar-se de que os dados contidos nele tenham alta integridade, a UML permite que objetos passivos insistem em que sejam acessados ​​sequencialmente; se dois encadeamentos tentarem chamar o mesmo objeto passivo sequencial, esse objeto pode atrasar o segundo encadeamento até que o primeiro termine com ele.