Programarea modulară este o paradigmă de programare care are la bază utilizarea modulelor. În acest stil de programare unitățile de cod ce oferă funționalitate specifică (proceduri, funcții, metode sau clase) sunt grupate în module separate deseori numite biblioteci, cataloage sau clase. Modulele separă interfața de implementare. Interfața unui modul conține acele elemente pe care modulul le expune și de care are nevoie utilizatorul(programatorul) modulului pentru a folosi functionalitatile puse la dispozitie de acesta. Aceste elemente sunt vizibile celorlalte module. Implementarea modulului conține codul care corespunde elementelor declarate în interfață cat si altor elemente care nu sunt vizibile in exterior, folosite ca pasi intermediari in realizarea unei operatii din interfata. Acest cod sursă nu este vizibil celorlalte module, ceea ce permite un nivel de abstractizare mai mare, utilizatorul fiind nevoit sa cunoasca doar interfata pentru a folosi modulul respectiv.
Avantajele programării modulare
- Permite reutilizarea modulelor. Modulele odată create pot fi incluse in alte aplicații.
- Ușurează lucrul în echipă. Module diferite pot fi scrise/testate de persoane diferite.
- Permite o mai bună organizare și structurare a codului sursă.
Diferența dintre module și clase
Diferențele dintre module și clase:
- Clasele pot fi instanțiate pentru a crea obiecte,
- Clasele pot moștenii date și metode de la alte clase,
- Polimorfismul permite ca relațiile dintre instanțele claselor să se schimbe la rulare, pe când relațiile dintre module sunt statice.
Asemănările dintre module și clase:
- Pot fi utilizate pentru a ascunde detaliile de implementare,
- Ambele pot forma ierarhii.