La différence entre un objet passif et un objet actif en UML

...

UML permet de simplifier la représentation de la logique interne d'un programme.

Le « langage de modélisation unifié », ou UML, est un langage conçu pour montrer comment le logiciel est organisé; les ingénieurs peuvent utiliser UML pour schématiser le flux d'informations dans un programme, leur permettant de mieux comprendre comment il peut être simplifié ou modifié. Lors de la modélisation du flux d'informations, UML fait la distinction entre les « objets actifs » qui peuvent initier ce flux et les « objets passifs » qui ne le peuvent pas.

Objets et classes

Lorsqu'il s'agit de programmation dite « orientée objet », l'informatique fait la différence entre un « objet » et une « classe ». Une classe est un description généralisée d'un ensemble de choses, telles que des variables ou des méthodes, alors qu'un « objet » est une « instance » de cette classe, avec sa propre Propriétés. Considérez les classes comme un plan ou un modèle; dans le monde physique, « outil d'écriture » ​​pourrait être considéré comme une classe, avec des exemples « stylo » ou « crayon orange » d'« objets » de ce type de classe particulier.

Vidéo du jour

Objets en UML

UML conserve une distinction similaire entre les classes et les objets, et ils sont représentés de la même manière; Les classes UML contiennent des descriptions générales et les objets UML contiennent des valeurs spécifiques qui représentent des instances de ces descriptions. D'un point de vue formel, par conséquent, un "objet actif" en UML est n'importe quelle instance d'une "classe active", et de même un "objet passif objet" est une instance d'une "classe passive" - ​​dans un sens théorique, vous pourriez considérer ces termes comme étant essentiellement interchangeable.

Objets actifs

En UML, les classes actives, et donc les objets actifs, existent dans leur propre thread d'opérations et ont leur propre espace d'adressage. Si l'exécution, ou l'activité du code, est pensée en termes de flux, les objets actifs peuvent démarrer ou contrôler ce flux. Les objets actifs, en d'autres termes, sont séquentiels et font quelque chose: modifier des variables, changer le comportement du programme, etc. En UML, les classes et objets actifs se distinguent par une bordure plus épaisse que les objets passifs.

Objets passifs

Les objets passifs en UML n'ont généralement pas la possibilité de modifier ou de lancer le flux d'exécution, car ils doivent attendre qu'un autre objet les appelle. Au lieu de cela, les objets passifs sont généralement utilisés pour stocker des informations, et dans de nombreux cas, ces informations peuvent être partagées entre plusieurs autres objets. Cela peut permettre d'accéder simultanément aux objets passifs, et non de manière séquentielle. Pour s'assurer que les données contenues à l'intérieur ont une intégrité élevée, UML permet aux objets passifs d'insister pour qu'ils soient accédés séquentiellement; si deux threads tentent d'appeler le même objet passif séquentiel, cet objet peut retarder le deuxième thread jusqu'à ce que le premier en ait fini avec lui.