Ohjelmistokehys
From Wikipedia, the free encyclopedia
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]