SOLID
În informatică , și mai ales în programare , acronimul SOLID se referă la „primele cinci principii” ale dezvoltării de software orientate obiect descrise de Robert C. Martin în mai multe publicații de la începutul anilor 2000 . [1] [2] Aceste principii se numesc principii SOLID . Cuvântul este un acronim care servește pentru a ne aminti aceste principii (responsabilitate unică, deschis-închis, substituție Liskov, segregarea interfeței, inversiunea dependenței) [3] și a fost inventat de Michael Feathers .
Principiile SOLID sunt concepute ca linii directoare pentru dezvoltarea de software lizibil, extensibil și care poate fi întreținut , în special în contextul practicilor de dezvoltare agile bazate pe identificarea mirosurilor de cod și pe refactorizare .
Cele cinci principii SOLID
Scrisoare | Principiu | Acronim | În scurt |
---|---|---|---|
S. | Principiul responsabilității unice sau principiul responsabilității unice | SRP | El afirmă că fiecare clasă ar trebui să aibă o singură responsabilitate, complet încapsulată în cadrul ei. |
SAU | Principiul deschis / închis sau principiul deschis / închis | OCP | O entitate software ar trebui să fie deschisă extensiilor, dar închisă modificărilor. |
L | Principiul Liskov înlocuirea sau principiul substituției Liskov | LSP | Obiectele ar trebui să poată fi înlocuite cu propriile subtipuri, fără a afecta comportamentul programului care le folosește. |
THE | Principiul de segregare interfață sau principiul segregării interfețelor | ISP | Interfețe mai specifice ar fi de preferat, mai degrabă decât una singură generică. |
D. | Principiul inversiunii dependenței sau principiului inversiunii dependențelor | DIP | O clasă ar trebui să depindă de abstracții, nu de clase concrete. |
Notă
- ^ Dezvoltare software agilă: principii, modele și practici. Pearson Education. 2002. ISBN 0-13-597444-5
- ^ Principiile OOD , Robert C. Martin, Ultima verificare 11:29, 29 mar 2013 (CET) (NOTĂ: acronimul SOLID nu este utilizat, deoarece este atribuit ulterior)
- ^ https://riflessionidiunnerd.wordpress.com/2018/11/29/i-principi-solid/#more-14
Elemente conexe
Concepte de bază și subiecte conexe
- Metodologie agilă
- Metodologie sau dezvoltare adaptivă Dezvoltare software adaptivă
- Reutilizarea codului
- Programare orientată pe obiecte
- Clasa abstractă