>> Tecnologia eletrônica >  >> Lar inteligente >> Vida Inteligente

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


A "Linguagem de Modelagem Unificada", ou UML, é uma linguagem projetada para mostrar como o software é organizado; engenheiros podem usar UML para diagramar o fluxo de informações em um programa, permitindo que eles entendam 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 é uma descrição generalizada de um conjunto de coisas - como variáveis ​​ou métodos - enquanto um "objeto" é uma "instância" dessa classe, com suas próprias propriedades exclusivas. Pense nas classes como um modelo ou modelo; no mundo físico, "instrumento de escrita" pode ser considerado uma classe, com "caneta" ou "lápis de cor laranja" exemplos de "objetos" desse tipo de classe em particular.

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. Formalmente falando, portanto, um "objeto ativo" em UML é qualquer instância de uma "classe ativa" e, da mesma forma, um "objeto passivo" é uma instância de uma "classe passiva" - em um sentido teórico, você pode considerar esses termos como ser essencialmente intercambiáveis.

Objetos ativos


Na UML, classes ativas e, portanto, 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, é pensada em termos de fluxo, os objetos ativos podem iniciar ou controlar esse fluxo. Objetos ativos, em outras palavras, são sequenciais e fazem alguma coisa:modificar variáveis, alterar o comportamento do programa e assim por diante. Na UML, classes e objetos ativos são diferenciados por terem uma borda mais espessa do que objetos passivos.

Objetos passivos


Objetos passivos em UML geralmente não têm a capacidade de modificar ou iniciar o fluxo de execução, porque eles 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 garantir que os dados contidos neles tenham uma alta integridade, a UML permite que objetos passivos insistam que eles sejam acessados ​​sequencialmente; se dois encadeamentos tentarem chamar o mesmo objeto passivo sequencial, esse objeto poderá atrasar o segundo encadeamento até que o primeiro termine com ele.