Ga naar hoofdinhoud

Lesprogramma

1 Feedback klassendiagram​

Jullie leveren feedback op elkaars klassendiagram.

✏️ Gebruik de vragen en plaats de feedback in <andermans-repo-van-week1>/weekopdracht/jouw-uitwerking/jouw-feedback.md en stuur het bestand naar degene die je feedback geeft.

Eventueel bespreken we veel voorkomende feedback in de les.

2 Voorbeeldimplementatie bekijken​

2a. Voorbeelduitwerking testen​

We laten een demonstratie zien van een voorbeeldimplementatie van mastermind.

✏️ Test de scenario's die je voor de voorbereiding hebt gemaakt en controleer of de uitwerking van mastermind wel correct werkt.

2b. Voorbeelduitwerking vergelijking met ontwerp​

✏️ Gebruik de voorbeelduitwerking van de mastermind casus (uitgereikt tijdens de les) om te bepalen in hoeverre deze aansluit op het domein en plaats jouw feedback in <jouw-repo-van-week1>/weekopdracht/jouw-uitwerking/jouw-antwoorden.md

2c. Implementatiebeslissingen van de voorbeelduitwerking overwegen​

✏️ Geef een antwoord op de volgende vragen en plaats deze in <jouw-repo-van-week1>/weekopdracht/jouw-uitwerking/jouw-antwoorden.md

  • Op welke manier worden uitzonderingsituaties afgehandeld?
  • Op welke plek worden strings vertaald naar domeinobjecten
  • Kun je een alternatieve oplossing hiervoor bedenken?
  • Stel je voor dat je het bord op een mooie manier zou willen tekenen (eventueel met ASCII-art), waar zou je dat dan doen?
  • Welke klasse bevat de code die uiteindelijk bepaald of een ingevoerde code correct is?
  • Alle klassen behalve Board zijn immutable
    • Hoe kun je dit zien aan de klassen?
    • Kun je een voordeel bedenken van immutable klassen in deze applicatie? Denk bijvoorbeeld aan de plek waar je validatiecode plaatst.

2d. Voorbeeldimplementatie breken​

Probeer of je onderstaande dingen voor elkaar kunt krijgen:

  • Kun je tijdens het spelen van het spel input geven waarmee je de applicatie en het domein breekt?
  • Kun je in de commands klasse code verzinnen waarmee je het domein breekt, zonder dat dit de bedoeling is

We bespreken de antwoorden in de les.