Razlika med pasivnim in aktivnim objektom v UML

...

UML pomaga poenostaviti predstavitev notranje logike programa.

"Unified Modeling Language" ali UML je jezik, zasnovan za prikaz, kako je programska oprema organizirana; inženirji lahko uporabljajo UML za diagramiranje pretoka informacij v programu, kar jim omogoča, da bolje razumejo, kako ga je mogoče poenostaviti ali spremeniti. Pri modeliranju informacijskega toka UML razlikuje med "aktivnimi objekti", ki lahko sprožijo ta tok, in "pasivnimi objekti", ki ne morejo.

Predmeti in razredi

Ko gre za tako imenovano "objektno usmerjeno" programiranje, računalništvo razlikuje med "predmetom" in "razredom". Razred je a posplošen opis nabora stvari – kot so spremenljivke ali metode – medtem ko je "objekt" "primerek" tega razreda s svojim edinstvenim lastnosti. Razmišljajte o razredih kot o načrtu ali predlogi; v fizičnem svetu se lahko "pisalni pripomoček" šteje za razred, s primeri "peresa" ali "oranžne barvice" za "predmete" te posebne vrste razreda.

Video dneva

Predmeti v UML

UML ohranja podobno razlikovanje med razredi in predmeti in so predstavljeni na enak način; Razredi UML vsebujejo široke opise, objekti UML pa posebne vrednosti, ki predstavljajo primerke teh opisov. Formalno gledano je torej "aktivni objekt" v UML kateri koli primerek "aktivnega razreda" in podobno "pasivni objekt". objekt" je primer "pasivnega razreda" - v teoretičnem smislu bi lahko te izraze šteli za v bistvu zamenljivi.

Aktivni predmeti

V UML aktivni razredi in zato aktivni objekti obstajajo v svoji lastni niti operacij in imajo svoj naslovni prostor. Če je izvajanje ali dejavnost kode mišljena v smislu toka, lahko aktivni objekti začnejo ali nadzorujejo ta tok. Z drugimi besedami, aktivni objekti so zaporedni in nekaj naredijo: spreminjajo spremenljivke, spreminjajo vedenje programa itd. V UML se aktivni razredi in predmeti razlikujejo po debelejši obrobi kot pasivni objekti.

Pasivni objekti

Pasivni objekti v UML na splošno nimajo možnosti spreminjanja ali začetka izvajanja, ker morajo počakati, da jih pokliče drug objekt. Namesto tega se za shranjevanje informacij običajno uporabljajo pasivni objekti in v mnogih primerih se te informacije lahko delijo med več drugimi objekti. To lahko omogoči sočasni dostop do pasivnih objektov, ne zaporedni. UML omogoča, da pasivni objekti vztrajajo pri zaporednem dostopu do njih, da zagotovimo visoko celovitost podatkov v notranjosti; če dve niti poskušata poklicati isti zaporedni pasivni objekt, lahko ta objekt odloži drugo nit, dokler prva ne konča z njo.