perusrajapinnat
Perusrajapinnat ovat ohjelmistokehityksessä määriteltyjä keskeisiä julkisia rajapintoja, jotka kuvaavat komponenttien tai järjestelmän osa-alueiden perustoiminnallisuudet. Ne muodostavat sopimuksen, jonka perusteella eri osat voivat vuorovaikuttaa keskenään riippumattomasti. Tavoitteena on edistää decouplointia, testattavuutta ja vaihtokelpoisuutta, jolloin toteutuksia voidaan vaihtaa ilman, että käyttävät osat on uudelleenkoodattava.
- Staattinen ja laajennettava sopimus: perusrajapinnat määrittelevät mitä tehdään, ei miten. Tämä mahdollistaa useiden toteutusten käytön samassa
- Yhteensopivuus ja vakaus: peerusrajapinnat pyrittävät pysymään muuttumattomina tai niiden muutokset ovat hallittuja ja versioituja.
- Testattavuus: rajapinnat mahdollistavat helpon mockaamisen ja yksikkötestauksen ilman toteutusten riippuvuuksia.
- Erottelu: ne tukevat single responsibility -periaatetta ja helpottavat arkkitehtuurin kerroksellisuutta.
- Tietovarastojen ja repositories-tyyppiset rajapinnat, joissa tarjotaan CRUD-operations (luo, lue, päivitä, poista) sekä listaus.
- Palvelukerros- tai liiketoimintalogiikan rajapinnat, jotka määrittelevät liiketoimintatoiminnallisuudet ilman toteutusta.
- Lokitus-, konfiguraatio- tai viestinvälitysrajapinnat, joiden toteutukset voivat vaihdella.
Suunnitteluperiaatteet ja haasteet
- API-kontraktin selkeys ja oikea granulariteetti; liian laaja tai liian kapea rajapinta voi heikentää käyttöä.
- Versiointi ja deprekaatio: uusi versio voidaan julkaista ilman rikkovia muutoksia vanhoille asiakkaille.
- Sopivuus domainiin ja ISP/DIP-periaatteet, jotka tukevat riippuvuuksien hallintaa ja muutosten hallintaa.
- Yleinen data-tallennusrajapinta: findById, save, update, delete, list.
- Kirjasto- tai sovelluslogitusrajapinta: logInfo, logWarning, logError.
Perusrajapinnat muodostavat arkkitehtuurillisen perustan monissa suomalaisissa ja kansainvälisissä järjestelmissä, joissa pyritään hallitsemaan muutoksia, parantamaan uudelleenkäytettävyyttä ja