>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Diferença Entre Objeto Passivo e Ativo na UML

A "Unified Modeling Language" (UML) é linguagem para mostrar como software é organizado; engenheiros usam para diagramar fluxo de informação, entendendo como simplificar ou alterar. Ao modelar fluxo, UML distingue "objetos ativos" que iniciam o fluxo, e "objetos passivos" que não iniciam.

Objetos e Classes

Em programação "orientada a objetos", ciência da computação diferencia "objeto" e "classe". Classe é descrição generalizada de conjunto de coisas — variáveis ou métodos — enquanto "objeto" é "instância" da classe, com propriedades únicas. Pense em classes como projeto ou template; no mundo físico, "instrumento de escrita" seria classe, "caneta" ou "giz de cera laranja" objetos dessa classe.

Objetos na UML

UML preserva distinção similar entre classes e objetos, representados da mesma forma; classes UML contêm descrições amplas, objetos UML contêm valores específicos representando instâncias. Formalmente, "objeto ativo" é instância de "classe ativa", e "objeto passivo" instância de "classe passiva" — teoricamente, termos intercambiáveis.

Objetos Ativos

Na UML, classes ativas e objetos ativos existem em sua própria thread de operações e têm espaço de endereço próprio. Se execução é pensada como fluxo, objetos ativos iniciam ou controlam fluxo. São sequenciais e fazem algo: modificam variáveis, alteram comportamento do programa. Na UML, classes e objetos ativos têm borda mais grossa que passivos.

Objetos Passivos

Objetos passivos na UML geralmente não modificam ou iniciam fluxo de execução, pois devem esperar outro objeto chamá-los. Em vez disso, armazenam informação, muitas vezes compartilhada entre múltiplos objetos. Isso permite acesso concorrente, não sequencial. Para garantir integridade dos dados, UML permite que objetos passivos exijam acesso sequencial; se duas threads tentam chamar mesmo objeto passivo sequencial, ele atrasa a segunda até a primeira terminar.