Ohjelmistokehys

Ohjelmistokehys (myös sovelluskehys, engl. Software Framework) tarkoittaa ohjelmistotuotetta, joka muodostaa rungon (myös termi ydin on käytössä) sen päälle rakennettavalle tietokoneohjelmalle. Ohjelmistokehys on ohjelmoinnin apuväline, jonka tarkoituksena on nopeuttaa uusien ohjelmistotuotteiden valmistusta. Kehys tarjoaa valmiiksi rakennettuja tietokoneohjelman osia, joita ei tarvitse kirjoittaa uudelleen ohjelmistokehityksen aikana – tämä nopeuttaa kehitystyötä. Tavallisesti ohjelmistokehystä ei voi käyttää sellaisenaan suoritettavana ohjelmana, vaan varsinainen toimiva lopputuote saadaan aikaan rakentamalla uusi ohjelma kehyksen päälle.

Ohjelmistokehykset rakentuvat ohjauksen kääntämisen (engl. inversion of control) periaatteelle, jossa ohjelman kontrollitoiminnot siirtyvät säiliön tai sovelluskehyksen vastuulle.[1] Oman käyttäytymisen lisääminen tarkoittaa kehyksen luokkien laajentamista tai omien luokkien lisäämistä.[1]

Monet ohjelmistokehykset ovat oliopohjaisia. Web-sovelluskehykset ovat suunnattu web-sovellusten kehittämiseen, mutta muitakin ohjelmistokehyksiä on olemassa. Esimerkiksi agenttiohjelmointi on eräs kehysten sovellusalue. Ohjelmistokehyksiä on toteutettu mm. Java-, PHP-, Ruby- ja Python-ohjelmointikielillä.

Ohjelmistokehykset ovat muodoltaan kirjastoja, joissa hyvin määritelty ohjelmointirajapinta (engl. API) on uudelleen hyödynnettävissä missä tahansa uuden kehitettävän ohjelmiston sisällä. Tietyt ominaisuudet kuitenkin erottavat ohjelmistokehykset muista kirjastomuodoista. Esimerkiksi ohjelmistokehysten käyttäjät eivät voi muokata kehyksen koodia, mutta voivat laajentaa sitä.[2]

  1. a b Loredana Crusoveanu: Intro to Inversion of Control and Dependency Injection with Spring baeldung.com. Viitattu 27.10.2019. (englanniksi)
  2. Njeru Mwendi Edwin: Software Frameworks, Architectural and Design Patterns. Journal of Software Engineering and Applications, 7.7.2014, 2014. vsk. doi:10.4236/jsea.2014.78061. ISSN 1945-3124. Artikkelin verkkoversio. en

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search