Suunnittelumalli
Suunnittelumalli edustaa mallia tai esimerkkiä oikeasta ratkaisusta johonkin yleiseen ongelmaan ohjelmistokehityksessä.
Suunnittelumallin käytön etuna on työnkulun monimutkaisuuden vähentäminen, koska koodin kirjoittamiseen kuluva aika lyhenee. Kaikilla malleilla on jo valmiiksi nimet, mikä myös helpottaa kehittäjien välistä yhteistyötä.
Haittoja voidaan pitää sitä, että kehittäjillä on houkutus soveltaa valittua mallia, vaikka kaikkia sen toimintoja ei tarvittaisi toteutettavassa tuotteessa.
On olemassa päätyyppisiä suunnittelumalleja:
- Delegoinnin malli (Delegation pattern) siirtää vastuun oman toimintansa suorittamisesta linkitetylle objektille.
- Funktionaalisen suunnittelun malli (Functional design) tarjoaa jokaiselle moduulille tietyn toiminnon, joka suoritetaan minimaalisilla sivuvaikutuksilla muihin moduuleihin.
- Muuttumaton rajapinta (Immutable interface) luo muuttumattoman objektin.
- Rajapinta (Interface) mahdollistaa ohjelmien rakenteen helpompaan ymmärtämiseen.
- Merkkirajapinta (Marker interface) käytetään merkitsemään attribuutin tai annotaation toteutuksen olemassaoloa tai puuttumista.
- Ominaisuussäiliö (Property container) lisää lisäominaisuuksia luokan sisäiseen säiliöön sijaan, että laajennettaisiin luokkaa uusilla ominaisuuksilla.
- Tapahtumakanava (Event channel) luo kanavan, jota pitkin viestit kulkevat julkaisija-tilaaja -mallissa. Tätä tarkoitusta varten tässä mallissa on edustaja-objekti, joka ei ole julkaisija eikä tilaaja, vaan ainoastaan huolehtii niiden yhteydestä.
Katso myös
-
malli antimalli,
joka määrittelee väärän ratkaisun ongelmaan -
konseptijoukko Ohjelmointiparadigma,
joka määrittelee lähestymistavan ohjelmointiin -
tekniikka
planning-poker,
joka on tarkoitettu tehtävien määrän ja monimutkaisuuden arviointiin -
kaavio tehtävien palamiskaaviosta,
jota käytetään työmäärän graafiseen esittämiseen