Diferența dintre un obiect pasiv și un obiect activ în UML

...

UML ajută la simplificarea reprezentării logicii interne a unui program.

„Limbajul de modelare unificat,” sau UML, este un limbaj conceput pentru a arăta cum este organizat software-ul; inginerii pot folosi UML pentru a diagrama fluxul de informații dintr-un program, permițându-le să înțeleagă mai bine cum poate fi simplificat sau modificat. Atunci când modelează fluxul de informații, UML distinge între „obiecte active” care pot iniția acel flux și „obiecte pasive” care nu pot.

Obiecte și clase

Când vine vorba de așa-numita programare „orientată pe obiecte”, informatica face diferența între un „obiect” și o „clasă”. O clasă este a descrierea generalizată a unui set de lucruri, cum ar fi variabile sau metode, în timp ce un „obiect” este o „instanță” a acelei clase, cu propria sa unică proprietăți. Gândiți-vă la cursuri ca la un plan sau un șablon; în lumea fizică, „instrumentul de scris” ar putea fi considerat o clasă, cu exemple de „pix” sau „creion portocaliu” de „obiecte” din acel tip de clasă.

Videoclipul zilei

Obiecte în UML

UML păstrează o distincție similară între clase și obiecte și sunt reprezentate în același mod; Clasele UML conțin descrieri ample, iar obiectele UML conțin valori specifice care reprezintă exemple ale acestor descrieri. Prin urmare, din punct de vedere formal, un „obiect activ” în UML este orice instanță a unei „clase active” și, în mod similar, un „pasiv”. obiect” este o instanță a unei „clase pasive” – în sens teoretic, ați putea considera acești termeni ca fiind în esență interschimbabile.

Obiecte active

În UML, clasele active și, prin urmare, obiectele active, există în propriul fir de operații și au propriul spațiu de adrese. Dacă execuția sau activitatea codului este gândită în termeni de flux, obiectele active pot porni sau controla acel flux. Obiectele active, cu alte cuvinte, sunt secvențiale și fac ceva: modifică variabile, schimbă comportamentul programului și așa mai departe. În UML, clasele și obiectele active se disting prin faptul că au o margine mai groasă decât obiectele pasive.

Obiecte pasive

Obiectele pasive din UML nu au, în general, capacitatea de a modifica sau începe fluxul de execuție, deoarece trebuie să aștepte ca un alt obiect să le numească. În schimb, obiectele pasive sunt utilizate în general pentru a stoca informații și, în multe cazuri, aceste informații pot fi partajate între mai multe alte obiecte. Acest lucru poate permite accesarea obiectelor pasive concomitent, nu secvenţial. Pentru a se asigura că datele conținute în interior au o integritate ridicată, UML permite ca obiectele pasive să insiste ca acestea să fie accesate secvenţial; dacă două fire de execuție încearcă să apeleze același obiect pasiv secvențial, acel obiect poate întârzia al doilea fir până când primul termină cu el.