Rozdiel medzi pasívnym a aktívnym objektom v UML

...

UML pomáha zjednodušiť reprezentáciu vnútornej logiky programu.

„Unified Modeling Language“ alebo UML je jazyk navrhnutý tak, aby ukázal, ako je softvér organizovaný; inžinieri môžu použiť UML na diagram toku informácií v programe, čo im umožní lepšie pochopiť, ako ho možno zjednodušiť alebo zmeniť. Pri modelovaní toku informácií rozlišuje UML medzi „aktívnymi objektmi“, ktoré môžu tento tok iniciovať, a „pasívnymi objektmi“, ktoré nemôžu.

Objekty a triedy

Pokiaľ ide o takzvané „objektovo orientované“ programovanie, informatika rozlišuje medzi „objektom“ a „triedou“. Trieda je a zovšeobecnený popis množiny vecí – ako sú premenné alebo metódy – zatiaľ čo „objekt“ je „inštancia“ tejto triedy s vlastným jedinečným vlastnosti. Predstavte si triedy ako plán alebo šablónu; vo fyzickom svete možno „písací nástroj“ považovať za triedu s príkladmi „pera“ alebo „oranžovej pastelky“ „predmetov“ tohto konkrétneho typu triedy.

Video dňa

Objekty v UML

UML zachováva podobný rozdiel medzi triedami a objektmi a sú reprezentované rovnakým spôsobom; Triedy UML obsahujú široké popisy a objekty UML obsahujú špecifické hodnoty, ktoré predstavujú inštancie týchto popisov. Formálne povedané, teda „aktívny objekt“ v UML je akákoľvek inštancia „aktívnej triedy“ a podobne „pasívny objekt“ je inštanciou „pasívnej triedy“ – v teoretickom zmysle by ste tieto výrazy mohli považovať v podstate za zameniteľné.

Aktívne objekty

V UML aktívne triedy, a teda aktívne objekty, existujú vo svojom vlastnom vlákne operácií a majú svoj vlastný adresný priestor. Ak sa spustenie alebo aktivita kódu uvažuje z hľadiska toku, aktívne objekty môžu spustiť alebo riadiť tento tok. Aktívne objekty, inými slovami, sú sekvenčné a niečo robia: upravujú premenné, menia správanie programu atď. V UML sa aktívne triedy a objekty vyznačujú hrubším okrajom ako pasívne objekty.

Pasívne predmety

Pasívne objekty v UML vo všeobecnosti nemajú možnosť modifikovať alebo začať tok vykonávania, pretože musia čakať, kým ich zavolá iný objekt. Namiesto toho sa na ukladanie informácií vo všeobecnosti používajú pasívne objekty a v mnohých prípadoch môžu byť tieto informácie zdieľané medzi viacerými inými objektmi. To môže umožniť prístup k pasívnym objektom súbežne, nie postupne. Aby sa zaistilo, že dáta obsiahnuté vo vnútri majú vysokú integritu, UML umožňuje pasívnym objektom trvať na tom, aby sa k nim pristupovalo postupne; ak sa dve vlákna pokúsia volať rovnaký sekvenčný pasívny objekt, tento objekt môže oneskoriť druhé vlákno, kým s ním prvé neskončí.