Forskjellen mellom et passivt objekt og et aktivt objekt i UML

Forskjellen mellom et passivt objekt og et aktivt objekt i UML


Den "Unified Modeling Language", eller UML, er et språk laget for å vise hvordan programvaren er organisert; ingeniører kan bruke UML til diagram informasjonsflyten i et program, som tillater dem å bedre forstå hvordan det kan forenkles eller endres. Når modellering informasjonsflyt, UML skiller mellom "aktive objekter" som kan initiere at flyten, og "passive objekter" som ikke kan.

Objekter og klasser

Når det gjelder såkalte "objekt-orientert" programmering, skiller informatikk mellom et "objekt" og en "klasse". En klasse er en generalisert beskrivelse av et sett av ting --- som variabler eller metoder --- mens en "objekt" er en "forekomst" av klassen, med sine egne unike egenskaper. Tenk på klasser som en blåkopi eller en mal; i den fysiske verden, "skriveredskap" kan betraktes som en klasse, med "pen" eller "oransje crayon" eksempler på "objekter" av den aktuelle klassen type.

Objekter i UML

UML bevarer et lignende skille mellom klasser og objekter, og de er representert på samme måte; UML klasser inneholde brede beskrivelser, og UML gjenstander inneholde konkrete verdier som representerer forekomster av disse beskrivelsene. Formelt sett er derfor en "aktiv objekt" i UML er enhver forekomst av en "aktiv klasse," og tilsvarende et "passivt objekt" er et eksempel på en "passiv klasse" --- i en teoretisk forstand, kan du vurdere disse vilkår for å være vesentlig utskiftbare.

aktive objekter

I UML, aktive klasser, og derfor aktive objekter, eksistere i sin egen tråd for operasjoner og har sin egen adresse plass. Hvis utførelse, eller kode aktivitet, er tenkt på i form av flyt, kan aktive gjenstander starte eller kontrollere at flyten. Aktive objekter, med andre ord, er sekvensielle og gjøre noe: endre variabler, endringsprogram atferd, og så videre. I UML er aktive klasser og objekter utmerker seg ved å ha en tykkere kant enn passive objekter.

Passive objekter

Passive objekter i UML vanligvis ikke har evnen til å modifisere eller starte strømmen av utførelsen, fordi de må vente på et annet formål å kalle dem. I stedet blir passive objekter vanligvis brukes til å lagre informasjon, og i mange tilfeller denne informasjonen kan deles mellom flere andre objekter. Dette kan tillate passive objekter som skal åpnes samtidig, ikke sekvensielt. For å sikre at data som finnes inne har en høy integritet, UML åpner for passive objekter for å insistere på at de nås sekvensielt; hvis to tråder forsøke å ringe det samme sekvensielle passivt objekt, kan dette objektet forsinke andre tråden før den første er ferdig med det.