Der Unterschied zwischen einem passiven Objekt & ein aktives Objekt in UML

August 3

Die "Unified Modeling Language" oder UML, ist eine Sprache, die zeigen, wie Software organisiert ist; Ingenieure können UML-Diagramm des Informationsflusses in einem Programm, so dass sie besser zu verstehen, wie es vereinfacht oder geändert werden kann. Beim Modellieren von Informationsfluss unterscheidet UML "aktive Objekte", die diesen Fluss initiieren können, und "passive Objekte" nicht möglich.

Objekte und Klassen

Wenn es darum geht, so genannte "objektorientierte" Programmierung, Informatik-unterscheidet zwischen einem "Objekt" und "Klasse". Eine Klasse ist eine verallgemeinerte Beschreibung einer Reihe von Dingen---wie Variablen oder Methoden---ein "Objekt" ist eine "Instanz" dieser Klasse, mit seiner eigenen einzigartigen Eigenschaften. Denken Sie an Klassen als eine Blaupause oder eine Vorlage; in der physischen Welt könnte "schreiben implementieren" eine Klasse, mit "Stift" oder "orange Wachsmalstift" Beispiele für "Objekte", dass bestimmten Klassentyps betrachtet werden.

Objekte in UML

UML behält eine ähnliche Unterscheidung zwischen Klassen und Objekten, und sie werden auf die gleiche Weise dargestellt; UML-Klassen enthalten umfassende Beschreibungen und UML-Objekte enthalten bestimmte Werte, die Instanzen von diesen Beschreibungen darstellen. Formal, daher ein "aktives Objekt" in UML ist jede Instanz von "aktiven Klasse", und ebenso ein "passives Objekt" ist ein Fall von einer "passiven Klasse"---im theoretischen Sinn, Sie könnten diese Begriffe im wesentlichen austauschbar zu sein.

Aktive Objekte

In UML, aktive Klassen und daher aktive Objekte in ihren eigenen Thread Operationen vorhanden Sie und haben Sie ihre eigenen Adressraum. Wenn die Ausführung oder Code-Aktivität in Bezug auf die Strömung des Denkens ist, aktive Objekte beginnen oder diesen Fluss zu steuern. Active-Objekte, mit anderen Worten, werden sequenziell und etwas tun: Variablen zu ändern, ändern Sie das Verhalten des Programms und so weiter. In UML aktive Klassen und Objekte zeichnen sich durch einen dickeren Rand als passive Objekte haben.

Passive Objekte

Passive Objekte in UML haben nicht im Allgemeinen die Fähigkeit zu ändern, oder beginnen den Ablauf der Ausführung, weil sie für ein anderes Objekt zu nennen, warten müssen. Stattdessen passive Objekte werden im Allgemeinen verwendet, um Informationen zu speichern, und in vielen Fällen kann diese Informationen zwischen mehreren anderen Objekten geteilt werden. Dadurch können passive Objekte zugegriffen werden, gleichzeitig, nicht nacheinander. Um sicherzustellen, dass die im Inneren enthaltenen Daten eine hohe Integrität hat, lässt UML passive Objekte darauf bestehen, daß sie sequentiell zugegriffen werden; Wenn zwei Threads versuchen, dasselbe sequenzielle passive Objekt aufzurufen, kann dieses Objekt für den zweiten Thread verzögern, bis die erste mit ihm beendet wurde.