Skip to content
Datalogi · Gymnasiet 3

Idéer för aktivt lärande

Objektorienterad design och designmönster

Designmönster är beprövade lösningar på återkommande problem inom mjukvarudesign. För elever i årskurs 3 innebär detta att gå från att skriva fungerande kod till att skriva professionell, underhållbar kod. Vi fokuserar på hur objektorienterade principer som inkapsling och polymorfism används i praktiken genom mönster som Singleton, Factory och Observer.

Skolverket KursplanerSkolverket PRRPRR02: Centralt innehåll - Objektorienterad programmeringSkolverket DAODAT01: Centralt innehåll - Systemering och design
20–60 minPar → Hela klassen3 aktiviteter

Aktivitet 01

Gallergång40 min · Smågrupper

Gallergång: Mönster-matchning

Visa olika kodexempel och arkitekturdiagram på väggarna. Eleverna går runt i grupper och identifierar vilket designmönster som används eller skulle kunna lösa det specifika problemet på bilden.

Vad är ett designmönster och varför används det?
FörståTillämpaAnalyseraSkapaRelationsförmågaSocial Medvetenhet
Skapa en komplett lektion

Aktivitet 02

Utforskande cirkel60 min · Par

Utforskande cirkel: Refaktorerings-utmaningen

Ge eleverna en 'spagettikod' med många if-satser. Deras uppgift är att i par skriva om koden med hjälp av ett lämpligt designmönster, till exempel Strategy eller State, för att göra den mer flexibel.

Hur tillämpar man Singleton och Observer-mönstren?
AnalyseraUtvärderaSkapaSjälvregleringSjälvkännedom
Skapa en komplett lektion

Aktivitet 03

Rollspel20 min · Hela klassen

Rollspel: Observer-mönstret live

En elev spelar 'Subject' och flera andra spelar 'Observers'. När Subject ändrar sitt tillstånd (t.ex. byter färg på en lapp) måste alla Observers reagera omedelbart. Detta visualiserar händelsestyrd programmering.

Hur bidrar objektorienterad design till bättre mjukvara?
TillämpaAnalyseraUtvärderaSocial MedvetenhetSjälvkännedom
Skapa en komplett lektion

Några anteckningar om att undervisa detta avsnitt


Se upp för dessa missuppfattningar

  • Att man ska använda så många designmönster som möjligt.

    Överdriven användning leder till onödig komplexitet (over-engineering). Genom diskussioner om 'YAGNI' (You Ain't Gonna Need It) lär sig eleverna att välja mönster med omsorg.

  • Att Singleton bara är ett sätt att skapa globala variabler.

    Singleton handlar om att kontrollera instansiering, inte bara åtkomst. Genom att analysera trådsäkerhet och resursdelning förstår eleverna mönstrets verkliga syfte.


Metoder som används i denna översikt