Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PlantUML Macro
object "Counter" as counter1 {
	counter = 1
	end = 3
}

counter1 --..> counter1 : getCounter() => 1
 
object "Counter" as counter2 {
	counter = 2
	end = 3
}
counter1 ..> counter2 : count()
counter2 --..> counter2 : getCounter() => 2
 
object "Counter" as counter3 {
	counter = 3
	end = 3
}
counter2 --..> counter3 : count()
counter3 --..> counter3 : getCounter() => 3
counter3 --..> counter3 : count()
Figuren viser hvordan samme Counter-objekt går fra én tilstand (verdiene til counter og end) til en annen, når getCounter- og count-operasjonene utføres. Hver boks er altså det samme objektet i ulike tilstander og pilene angir hvilket kall som leder til neste (eller samme) tilstand. Kallene til getCounter endrer ikke noen verdier, så derfor leder de til samme tilstand. Kallene til count, derimot, endrer telleren (counter) inntil den når slutt-verdien (end) og gir en (heldigvis endelig) kjede med tilstander (se fotnote 1).

...

PlantUML Macro
object "Counter" as counter1 {
	counter = 1
	end = 3
}
 
object "Counter" as counter2 {
	counter = 2
	end = 3
}
counter1 --..> counter2 : count(1)
 
object "Counter" as counter3 {
	counter = 3
	end = 3
}
counter1 --..> counter3 : count(2)
counter2 --..> counter3 : count(1)
counter2 --..> counter3 : count(2)
Vi ser at ett kall til count(2) har samme effekt som to kall til count(1) og at det ikke lenger er lov å kalle count i den siste tilstanden, dvs. når telleren (counter) har nådd slutt-verdien (end). Kall til getCounter er utelatt, siden de (fortsatt) ikke endrer tilstanden.

...