Skip to main content
Dat 1. Sem Efterår 2025
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Refactoring

Denne uges emner er mange: Refactorering, UML (sekvensdiagrammer, klassediagrammer), PlantUML, Separation of Concerns,
Samtidig får I repeteret exceptions og brugen af biblioteksklasserne Scanner og Files

Mandag - TextUI

Da I lærte om Scanner klassen i forrige uge, kodede vi en dialog mellem bruger og system (Drinksmenu). Med udgangspunkt i den kode, skal vi bygge en “utility”(nytte) klasse: TextUI.

Vi skal ændre (refactorere) koden sådan at alt hvad der handler om brugerdialog, ligger i sin egen klasse. Dette er et design princip i OOP som kaldes “Separation of Concern”. Formålet er at gøre den del af koden genanvendelige i andre projekter.

TextUI

Onsdag - FileIO

Da I lærte om filer i sidste uge, kodede I en metode i Game klassen, til at loade data om spillere og senere kodede i en metode til at gemme data om spillere (Player). Med udgangspunkt i den kode, skal vi bygge endnu en “utility”(nytte) klasse: FileIO

Vi skal ændre (refactorere) koden sådan at alt hvad der handler om at læse og skrive til fil, ligger i sin egen klasse. Dette er et design princip i OOP som kaldes “Separation of Concern”. Formålet er at gøre den del af koden genanvendelige i andre projekter.

FileIO

Torsdag

Opgavesæt (https://github.com/Dat1Cphbusiness/Torsdagsopgaver-6-Exceptions) Afleveringslink(https://cphbusiness.mrooms.net/mod/assign/view.php?id=829940)

Fredag: review

Vi har i denne uge bygget 2 vigtige utility klasser: TextUI som gør det nemt at arbejde med brugerinput, og FileIO, som gør det nemt at arbejde med indlæsning og persistering af data.

I blev sat sammen to-og-to, og fik udleveret nogle opgave ark, hvor opgaven er brudt ned i små trin, som I skiftes til at kode.

Det er vigtige aktiviteter, som vi skal bygge videre på senere. Så hvis du ikke var med, bør du tage en studiekammerat under armen og arbejde de to opgave ark igennem.

  1. TextUI

  2. FileIO

Skriv på support tråden, eller direkte til mig hvis I har brug for hjælp til at komme igang eller hvis I går i stå undervejs.