Mönster och datastrukturer, del 1 from Johan Holmberg

Klicka här för att ladda ner PDF:n

Uppgifter

Uppgift 1: Identifiera mönster i diagram och kod

I laboration 5 fick du tillgång till en massa spännande källkod och UML-diagram. Givet detta, leta efter följande mönster:

Vilka hittar du? Vilka är klockrena/modifierade? Vilka saknas? Är alla relevanta?

Uppgift 2: Bygg en mediaspelare med State pattern

Din uppgift är att bygga en väldigt enkel mediaspelare. Den är så pass enkel att allt den kan göra är att skriva ut vad den gör när den går in i och/eller lämnar ett tillstånd, snarare än faktiskt spela upp någon musik eller video. Utgå från följande tillståndsdiagram:

Tillståndsdiagram för en mediaspelare

Identifiera de tillstånd som behövs och modellera dem. Notera även vilka tillståndsövergångar som är tillåtna och vilka som saknas. En exempelmodell (för en bankomat i Java, men det är analogt med er Python-lösning) ser ut så här:

State pattern i Java

Det finns ett flertal sätt att implementera State i Python, men ett rimligt exempel finns här. Hur implementerar ni er lösning?