Dependency Injection in Unity3D
Parviainen, Niko (2017)
Parviainen, Niko
Jyväskylän ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201705026012
https://urn.fi/URN:NBN:fi:amk-201705026012
Tiivistelmä
Työn tavoitteena oli selvittää, miten ohjelmistokehitysmalleja ja -periaatteita voidaan soveltaa pelikehitykseen tavoiteltaessa modulaarista arkkitehtuuria. Tehtäviin kuului tunnistaa luokkariippuvuuksien hallinnan ongelma modulaarisessa arkkitehtuurissa, sel-vittää Unity3D-ympäristön tarjoamat ratkaisut, selvittää mikä on riippuvuusinjektiomalli ja kuinka sitä käytetään Unity3D-ympäristössä.
Luokkariippuvuuksien hallintaa Unity3D:ssä ja riippuvuusinjektiomallia tutkittiin. Uni-ty3D:n esittelemien ratkaisujen ongelmat tuotiin esille esimerkein. Riippuvuusinjek-tiomalli esiteltiin esimerkein ja demonstroitiin kehittämällä esimerkkiprojektina peli käyt-täen yhtä saatavilla olevaa kolmannen osapuolen sovelluskehystä riippuvuusinjektiolle. Esimerkkipelin tavoitteena oli ottaa selvää, tuoko riippuvuusinjektion käyttö Unity3D-ympäristössä modulaarisuutta pelikehitykseen ja millä hinnalla.
SOLID-ohjelmistokehitysperiaatteet esiteltiin esimerkein ja tuotiin riippuvuusinjektion tueksi korostamaan modulaarisuutta siirtämällä huomiota myös luokkasuunnitteluun.
Riippuvuusinjektion käyttö yhdessä SOLID-periaatteiden kanssa tuo modulaarisuutta sitomalla luokat löyhästi toisiinsa, vaikkakin samalla nostaa arkkitehtuurin monimutkai-suutta kokonaisuudessaan. SOLID-periaatteiden tuoma laaja löyhien sidosten määrä ja vastuiden erottelu olivat tärkeitä osia modulaarisuutta, jota riippuvuusinjektio ei itses-sään voi tuoda.
Luokkariippuvuuksien hallintaa Unity3D:ssä ja riippuvuusinjektiomallia tutkittiin. Uni-ty3D:n esittelemien ratkaisujen ongelmat tuotiin esille esimerkein. Riippuvuusinjek-tiomalli esiteltiin esimerkein ja demonstroitiin kehittämällä esimerkkiprojektina peli käyt-täen yhtä saatavilla olevaa kolmannen osapuolen sovelluskehystä riippuvuusinjektiolle. Esimerkkipelin tavoitteena oli ottaa selvää, tuoko riippuvuusinjektion käyttö Unity3D-ympäristössä modulaarisuutta pelikehitykseen ja millä hinnalla.
SOLID-ohjelmistokehitysperiaatteet esiteltiin esimerkein ja tuotiin riippuvuusinjektion tueksi korostamaan modulaarisuutta siirtämällä huomiota myös luokkasuunnitteluun.
Riippuvuusinjektion käyttö yhdessä SOLID-periaatteiden kanssa tuo modulaarisuutta sitomalla luokat löyhästi toisiinsa, vaikkakin samalla nostaa arkkitehtuurin monimutkai-suutta kokonaisuudessaan. SOLID-periaatteiden tuoma laaja löyhien sidosten määrä ja vastuiden erottelu olivat tärkeitä osia modulaarisuutta, jota riippuvuusinjektio ei itses-sään voi tuoda.