Atšķirība starp pasīvo objektu un aktīvo objektu UML

...

UML palīdz vienkāršot programmas iekšējās loģikas attēlojumu.

"Unified Modeling Language" jeb UML ir valoda, kas izstrādāta, lai parādītu, kā tiek organizēta programmatūra; inženieri var izmantot UML, lai diagrammu attēlotu informācijas plūsmu programmā, ļaujot viņiem labāk saprast, kā to var vienkāršot vai mainīt. Modelējot informācijas plūsmu, UML nošķir "aktīvos objektus", kas var uzsākt šo plūsmu, un "pasīvos objektus", kas nevar.

Objekti un klases

Runājot par tā saukto "objektorientēto" programmēšanu, datorzinātne atšķir "objektu" un "klasi". Klase ir a vispārināts lietu kopas apraksts, piemēram, mainīgie vai metodes, turpretim "objekts" ir šīs klases "instancē" ar savu unikālo. īpašības. Padomājiet par nodarbībām kā par projektu vai veidni; fiziskajā pasaulē "rakstāmrīku" var uzskatīt par klasi ar "pildspalvu" vai "apelsīnu krītiņu" šī konkrētā klases veida "objektu" piemēriem.

Dienas video

Objekti UML

UML saglabā līdzīgu atšķirību starp klasēm un objektiem, un tie tiek attēloti vienādi; UML klasēs ir plaši apraksti, un UML objektos ir noteiktas vērtības, kas atspoguļo šo aprakstu gadījumus. Tātad formāli runājot, "aktīvais objekts" UML ir jebkurš "aktīvās klases" gadījums un līdzīgi "pasīvs". objekts" ir "pasīvās klases" gadījums — teorētiskā nozīmē jūs varētu uzskatīt, ka šie termini būtībā ir savstarpēji aizvietojami.

Aktīvie objekti

UML aktīvās klases un līdz ar to aktīvie objekti pastāv savā darbību pavedienā, un tām ir sava adrešu telpa. Ja izpildi vai koda darbību domā kā plūsmu, aktīvie objekti var sākt vai kontrolēt šo plūsmu. Citiem vārdiem sakot, aktīvie objekti ir secīgi un kaut ko dara: pārveido mainīgos, maina programmas uzvedību utt. UML aktīvās klases un objektus izšķir ar biezāku apmali nekā pasīvajiem objektiem.

Pasīvie objekti

Pasīvajiem objektiem UML parasti nav iespēju modificēt vai sākt izpildes plūsmu, jo tiem jāgaida, kamēr cits objekts tos izsauks. Tā vietā informācijas glabāšanai parasti tiek izmantoti pasīvie objekti, un daudzos gadījumos šī informācija var tikt koplietota starp vairākiem citiem objektiem. Tas var ļaut pasīviem objektiem piekļūt vienlaikus, nevis secīgi. Lai pārliecinātos, ka iekšpusē esošajiem datiem ir augsta integritāte, UML ļauj pasīviem objektiem pieprasīt, lai tiem piekļūtu secīgi; ja divi pavedieni mēģina izsaukt vienu un to pašu secīgo pasīvo objektu, šis objekts var aizkavēt otro pavedienu, līdz pirmais ir to pabeidzis.