Nykyisin ohjelmointi käytännössä poikkeuksetta tapahtuu oliopohjaisilla ohjelmointikielillä. Siitä huolimatta useinkin törmätään kömpelöihin toteutuksiin, jotka eivät täydellisesti hyödynnä kielien tarjoamia mahdollisuuksia. Tällöin erityisesti sovelluksen muuntuvuus uusiin tarpeisiin sekä ylläpidettävyys jäävät heikolle tasolle.
Keskeisimmät suunnittelumallit (GOF) syntyivät jo 90-luvun alkuvuosina ja niiden kuvauksissa selkeästi näkyy C++:n vaikutus. Sen jälkeen kielet ovat ominaisuuksiltaan kehittyneet, mutta yllättävän moni alkuperäisistäkin suunnittelumalleista edelleen on käyttökelpoinen. Toki niitä aina tulee soveltaa käytetyn ohjelmointikielen mukaan.
Tämä koulutus perehdyttää hyviin olio-ohjelmointikäytäntöihin sekä suunnittelumalleihin sellaisina kuin ne näyttäytyvät nykypäivän sovelluksissa. Suuri osa GOF:n malleista esitellään, mutta myös joukko malleja, jotka ovat kehittyneet myöhemmässä vaiheessa. Esimerkit rakentuvat keskeisesti Javan ja C#:n ympärille, joissa malleja sovelletaan hyvinkin samankaltaisesti. Osa ratkaisuista esitellään myös Pythonin ja JavaScriptin näkökulmasta.
Koulutuksessa ei tehdä varsinaisia harjoituksia vaan ohjelmointekniikat esitetään demo-luonteisesti. Demojen lähdekoodi on verkossa oppilaiden saatavilla ja he voivat tutkia sitä myös kurssin aikana, edellyttäen että osallistujalla on oma kannettava työasema mukana kurssilla.
SOLID - hyvän olio-ohjelmoinnin perusteet
Olioiden luonti
Luokkarakenteen muodostaminen
Olioiden kommunikointi
Säikeistetyt sovellukset
Käyttöliittymämallit