The " Unified Modeling Language , " eller UML är ett språk för att visa hur programvaran är organiserad , ingenjörer kan använda UML till diagram flödet av information i ett program , vilket dem att bättre förstå hur den kan förenklas eller ändras. Vid modellering informationsflödet , skiljer UML mellan " aktiva objekt " som kan initiera detta flöde , och " passiva objekt " som inte kan. Objekt och klasser
När det gäller så kallade " objektorienterat " programmering , skiljer datavetenskap mellan ett " objekt " och en " klass . " En klass är en generaliserad beskrivning av en uppsättning av saker --- såsom variabler eller metoder --- medan ett " objekt " är en " instans " av denna klass , med sina egna unika egenskaper . Tänk på klasser som ett utkast eller en mall , i den fysiska världen , " skriver redskapet " kan betraktas som en klass , med " penna " eller "orange krita " exempel på "objekt" av just klass typ
objekt i UML
UML bevarar en liknande distinktion mellan klasser och objekt , och de är representerade på samma sätt , UML klasser innehåller breda beskrivningar , och UML objekt innehåller specifika värden som representerar instanser av dessa beskrivningar . Formellt sett är därför ett " aktivt objekt " i UML varje instans av en " aktiv klass " och liknande ett " passivt objekt " är ett exempel på en " passiv klassen " --- i en teoretisk mening , kan du överväga dessa villkor vara väsentligen utbytbara .
Aktiv Föremål
UML , aktiva klasser , och därför aktiva objekt , existerar i sin egen tråd i verksamheten och har sin eget adressutrymme. Om verkställighet , eller kod aktivitet , är tänkt i termer av flöde , kan aktiva objekt starta eller styra detta flöde . Aktiva objekt , med andra ord , är sekventiell och göra något : modifiera variabler , förändringsarbete beteende , och så vidare . I UML , är aktiva klasser och objekt kännetecknas av att ha en tjockare kant än passiva objekt .
Passiva objekt
passiva objekt i UML vanligtvis inte har möjlighet att ändra eller påbörja flödet av utförandet , eftersom de måste vänta på ett annat objekt att kalla dem . Istället är passiva objekt som allmänt används för att lagra information , och i många fall denna information kan delas mellan flera andra objekt . Detta kan tillåta passiva objekt som nås samtidigt , inte sekventiellt . För att säkerställa att uppgifterna insidan har en hög integritet , tillåter UML för passiva objekt att insistera på att de nås sekventiellt , om två trådar försöker ringa samma sekventiella passivt objekt , kan det objektet fördröja den andra tråden tills den första är klar med det .