Riippuvuusinjektio : Joustavuutta arkkitehtuuriin löyhillä sidoksilla
Yli-Sipilä, Anna (2013)
Yli-Sipilä, Anna
Metropolia Ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201304134360
https://urn.fi/URN:NBN:fi:amk-201304134360
Tiivistelmä
Insinöörityön tavoitteena oli selvittää riippuvuusinjektion periaate, antaa esimerkkejä sen hyödyntämisestä sekä esitellä toteuttamisen avuksi vapaasti saatavilla olevia kolmannen osapuolen ohjelmistokehyksiä. Työ toteutettiin tutkimalla aiheeseen liittyvää kirjallisuutta ja toteuttamalla esimerkkisovellus, jossa ratkaistiin riippuvuuksista johtuva testattavuuden ongelma riippuvuusinjektiota käyttäen. Työn motivaationa oli testattavuuden parantaminen.
Riippuvuusinjektion periaatetta käsiteltiin yleisesti hyväksi todettujen sovelluskehitysten suunnitteluperiaatteiden kautta. Esitellyt suunnitteluperiaatteet olivat SOLID-akronyymin mukaiset avoin-suljettu-periaate, yhden vastuualueen periaate, Liskovin korvaavuusperiaate, rajapintojen erotteluperiaate ja riippuvuuden kääntöperiaate. Todettiin, että näiden periaatteiden noudattaminen tarkoittaa löyhien liitosten suosimista ja riippuvuusinjektion avulla mahdollistetaan löyhät liitokset.
Riippuvuusinjektion hyödyistä esiteltiin testattavuus, myöhäinen sidonta, laajennettavuus, ylläpidettävyys ja yhtäaikainen kehitys. Näistä esimerkkisovelluksen avulla havainnollistettiin testattavuutta. Toteutustavoista käytiin läpi alustaja-, setteri- ja metodi-injektio sekä ympäröivän kontekstin käsite.
Riippuvuusinjektion toteuttamisella oli huomattava merkitys testattavuuden parantumiseen. Tämän lisäksi esimerkkisovelluksen arkkitehtuuri parani noudattamaan vahvemmin olio-ohjelmoinnille ominaista kapselointia. Esimerkkisovellukseen ei käytetty kolmannen osapuolen ohjelmistokehyksiä, koska niillä ei saatu riittävää lisähyötyä.
Riippuvuusinjektion periaatetta käsiteltiin yleisesti hyväksi todettujen sovelluskehitysten suunnitteluperiaatteiden kautta. Esitellyt suunnitteluperiaatteet olivat SOLID-akronyymin mukaiset avoin-suljettu-periaate, yhden vastuualueen periaate, Liskovin korvaavuusperiaate, rajapintojen erotteluperiaate ja riippuvuuden kääntöperiaate. Todettiin, että näiden periaatteiden noudattaminen tarkoittaa löyhien liitosten suosimista ja riippuvuusinjektion avulla mahdollistetaan löyhät liitokset.
Riippuvuusinjektion hyödyistä esiteltiin testattavuus, myöhäinen sidonta, laajennettavuus, ylläpidettävyys ja yhtäaikainen kehitys. Näistä esimerkkisovelluksen avulla havainnollistettiin testattavuutta. Toteutustavoista käytiin läpi alustaja-, setteri- ja metodi-injektio sekä ympäröivän kontekstin käsite.
Riippuvuusinjektion toteuttamisella oli huomattava merkitys testattavuuden parantumiseen. Tämän lisäksi esimerkkisovelluksen arkkitehtuuri parani noudattamaan vahvemmin olio-ohjelmoinnille ominaista kapselointia. Esimerkkisovellukseen ei käytetty kolmannen osapuolen ohjelmistokehyksiä, koska niillä ei saatu riittävää lisähyötyä.