La différence entre un objet passif et un objet actif dans UML
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, ce qui leur permet 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
En matière de programmation dite "orientée objet", l'informatique fait la différence entre un "objet" et une "classe". Une classe est une 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 ses propres propriétés uniques. Considérez les cours 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.
Objets en UML
UML préserve 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. Formellement parlant, donc, un "objet actif" dans UML est toute instance d'une "classe active", et de même un "objet passif" est une instance d'une "classe passive" - dans un sens théorique, vous pourriez considérer ces termes comme être essentiellement interchangeables.
Objets actifs
En UML, les classes actives, et donc les objets actifs, existent dans leur propre fil 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 les objets actifs se distinguent par une bordure plus épaisse que les objets passifs.
Objets passifs
Les objets passifs dans UML n'ont généralement pas la capacité de modifier ou de commencer 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 à des objets passifs, et non séquentiellement. Pour s'assurer que les données contenues à l'intérieur ont une haute intégrité, 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 terminé.