Moduulipohjaisuus
Moduulipohjaisuus on suunnittelun periaate, jossa järjestelmä jaetaan erillisiin moduuleihin, joilla on selkeät rajapinnat ja rajatut vastuut. Moduulit voivat kehittää, testata, asentaa ja vaihtaa itsenäisesti, mikä helpottaa ylläpitoa, laajennettavuutta ja jatkuvaa kehitystä. Moduulien välinen vuorovaikutus on tiukasti rajattu ja piilotettu kapselointiin, jolloin sisäinen toteutus on saavutettavissa vain rajapintojen kautta.
Keskeisiä periaatteita ovat erottaminen, eli vastuiden jakaminen loogisiin kokonaisuuksiin; korkea koherenssi moduulin sisällä sekä löysä kytkentä
Sovelluskohteita ovat ohjelmistokehitys (esim. mikropalvelut, plug-in järjestelmät, komponenttipohjainen suunnittelu), laitteistojen arkkitehtuuri sekä organisatorinen suunnittelu ja prosessien
Hyödyt sisältävät parempi ylläpidettävyys, joustavampi laajennettavuus ja parantunut testattavuus. Haasteina ovat mahdollinen ylivaltava rajapintojen määrä, riippuvuuksien