Design Patterns - Suunnittelumallit

Kesto: 1.0 pv

Tuotekuvaus

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.



Koulutuspäivän sisältö

SOLID - hyvän olio-ohjelmoinnin perusteet

  • Vastuuajattelu
  • Rajapintakäsite
  • Abstraktiotason nostattaminen
  • Dependency inversion

Olioiden luonti

  • Factory-mallit
  • Builder
  • Onko singleton tarpeellinen?

Luokkarakenteen muodostaminen

  • Geneeriset ja abstraktit luokat
  • Facade
  • Decorator
  • Flyweight
  • Proxy ja DAO

Olioiden kommunikointi

  • Command
  • Mediator
  • Observer
  • Strategy
  • Template method

Säikeistetyt sovellukset

  • Promise
  • Actors

Käyttöliittymämallit

  • MVC
  • MVP
  • MVVM

Oma koulutus tai tapahtuma Oppia.fi:hin?

Ota yhteyttä!