Abstrakti luokka vai rajapinta uudelleenkäytettävyyden näkökulmasta - Räihä, Rauno (2013)
Tämä kandidaatintutkielma on kirjallisuuskatsaus. Tutkielman tutkimuskysymys on, tarjoaako abstrakti luokka paremman uudelleenkäytettävyyden kuin rajapinta. Tutkielmassa noudatettiin EBSE-menetelmää. Tutkielmassa havaitaan, että kuluja, joita syntyy ohjelmistokehityksessä voidaan vähentää uudelleenkäyttämällä ohjelmakoodia. Tutkielmassa saatiin tulokseksi, että uudelleenkäytettävyyttä edistävät kapselointi, matala kytkösaste, korkea koheesio ja perintä. Uudelleenkäytettävyyttä haittaa heikko ymmärrettävyys. Perintä ja koostaminen ovat keinoja, joilla koodia voidaan uudelleenkäyttää. Tutkielmassa havaittiin, että abstraktin luokan ja rajapinnan keskeisin ero on se, että abstraktilla luokalla voidaan määritellä myös toteutusta. Niinpä jos käyttökonteksti tunnetaan huonosti ja on hyvin muutosaltis on rajapinta turvallisempi vaihtoehto koska se ei rajaa uudelleenkäytettävyyttä samaan tapaan kuin abstrakti luokka. Abstrakti luokka on hyvä, jos halutaan määritellä attribuutteja tai toiminnallisuutta, jolla on toteutus.