Kmom04: Trait och Interface

By . Latest revision .

Vi fortsätter med kodande och testande utanför och inuti ramverket. Fokus är tre saker, trait och interface, mer enhetstestning samt integrera koden ytterligare med ramverket genom att använda ramverkets klasser i störra omfattning.

Trait och interface är två objektorienterade konstruktioner som kan användas för att strukturera sin kod tillsammans med arv och komposition. Det ger oss två nya verktyg för att tänka och implementera koden på ett objektorienterat sätt.

Erfarenheterna från trait och interface använder vi sedan för att vidarutveckla vårt 100-spel med lite intelligens när vi spelar mot datorn som spelare. Samtidigt börjar vi mer använda ramverkets klasser för att knyta in vår kod i ramverkets “skydd”.

När detta är gjort så börjar vi bygga en testsuite för våra klasser och vi börjar att köra make test inuti ramverket.

(Detta är instruktionen för kursmomentet och omfattar det som skall göras inom ramen för kursmomentet. Momentet omfattar cirka 20 studietimmar inklusive läsning, arbete med övningar och uppgifter, felsökning, problemlösning, redovisning och eftertanke. Läs igenom hela kursmomentet innan du börjar jobba. Om möjligt – planera och prioritera var du vill lägga tiden.)

#Läsanvisningar

(ca: 2-4 studietimmar, inklusive extra läsning i referenslitteraturen efter eget val)

#Videor

Kika på följande videos.

  1. Det finns en YouTube spellista kopplad till kursen, kika på de videos som börjar med 4. De ger dig en introduktion och översikt till kursmomentet.

#Artiklar

Läs följande.

  1. Läs igenom den korta artikeln “Martin Fowler: Tell Dont Ask” som ger en insikt i objektorienterat tänkade och hur man delvis kan tänka när man strukturerar sina objekt och var man väljer att lägga sin kod.

  2. Titta tillbaka i översikten av dokumentet PHP The Right Way. Titta genom vilka sektioner som vi hanterat hittills i kursen och fundera vilka begrepp som du har koll på.

#Övningar & Uppgifter

(ca: 8-14 studietimmar)

#Uppgifter

Följande uppgifter skall utföras och resultatet skall redovisas via me-sidan.

  1. I guiden “Kom igång med Objektorienterad programmering i PHP” jobbar du igenom följande del. Spara koden i me/kmom04/oophp3. Kopiera alla filer från me/kmom02/oophp2, du jobbar vidare på de filerna.

  2. Gör uppgift “Uppdatera 100-spelet med intelligens” och spara filerna i me/redovisa.

  3. Pusha och tagga ditt repo me/redovisa allt eftersom och sätt en avslutande tagg (4.0.*) när du är klar med alla uppgifter och redovisningstext i kursmomentet. Gör även en avslutande make doc och en make test som en sista avstämning, innan du sätter sista taggen.

#Resultat & Redovisning

(ca: 1-2 studietimmar)

Läs instruktionen om hur du skall redovisa.

Se till att följande frågor besvaras i texten:

  • Vilka är dina tankar och funderingar kring trait och interface?
  • Hur gick det att skapa intelligensen och taktiken till tärningsspelet, hur gjorde du?
  • Några reflektioner från att integrera hårdare in i ramverkets klasser och struktur?
  • Berätta hur väl du lyckades med make test inuti ramverket och hur väl du lyckades att testa din kod med enhetstester och vilken kodtäckning du fick.
  • Vilken är din TIL för detta kmom?

#Revision history

  • 2018-04-16: (B, mos) Uppdaterad till oophp v4.
  • 2017-04-18: (A, mos) Första utgåvan.

Document source.