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
Boardzijn 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
commandsklasse code verzinnen waarmee je het domein breekt, zonder dat dit de bedoeling is
We bespreken de antwoorden in de les.