Som i den første versjonen har vi ett program-objekt som håndterer interaksjon med brukeren og som samhandler med ett Memory-objekt. Siden dette program-objektet skal være en JavaFX-applikasjon, så må den bygge på Application-klassen (i javafx.application-pakken), slik at den får en del ferdiglagd oppførsel. Interaksjonen vi skal implementere er ikke så ulik den fra versjon 1 og 2, ved at applikasjon gir tekstlige meldinger til brukeren, og brukeren svarer ved å skrive inn tekst. Dette betyr at vi må ha referanser til to JavaFX-objekter av typene Text (i javafx.scene.text-pakken) for tekstlig output og TextField (i javafx.scene.control-pakken) for tekstlig input. I tillegg må vi som i versjon 1 og 2 ha et Memory-objekt. Dette gir følgende klasse- og objektdiagrammer:
Sekvensdiagrammet viser hvordan Text- og TextField-objektene samhandler med MemoryApp- og Memory-objektene. Sekvensen er omtrent som i versjon 1, med noen viktige forskjeller:
Det at program-objektet ikke aktivt henter input, men venter på at et interaktivt JavaFX-objekt sier fra om input er typisk for hendelsesstyrte programmer. På en måte venter program-objektet på alle mulige input på en gang, og må reagere på det som kommer. I dette tilfellet er det jo bare ett interaktivt JavaFX-objekt, men i større programmer er det mye som kan skje på en gang.
|