SOLID (programare orientată pe obiecte)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 8 octombrie 2018; verificările necesită 39 de modificări .

SOLID (prescurtare pentru engleză  single responsabilitate , open-closed , Liskov substitution , interface segregation and dependency inversion ) în programare este un acronim mnemonic introdus de Michael Feathers pentru primele cinci principii numite de Robert Martin [1] [2] la începutul anilor 2000 . [3] , ceea ce a însemnat cele 5 principii de bază ale programării și proiectării orientate pe obiecte .

Pentru ce sunt principiile SOLID?

La crearea sistemelor software, utilizarea principiilor SOLID contribuie la crearea unui sistem care va fi ușor de întreținut și extins în timp [3] . Principiile SOLID sunt linii directoare care pot fi aplicate și în timpul lucrului la software-ul existent pentru a-l îmbunătăți, cum ar fi eliminarea „ codului mirositor ”.

Strategiile de dezvoltare agile și adaptive [3] implică scrierea codului în conformitate cu principiile SOLID.

Principii

Următoarele 5 principii SOLIDE vă ajută să scăpați de „semnele unui proiect prost” [4] :

Iniţială Reprezintă [1] Titlul [4] , concept
S SRP [5] principiul responsabilitatii unice Trebuie definit un singur scop pentru fiecare clasă. Toate resursele necesare implementării sale ar trebui să fie încapsulate în această clasă și subordonate numai acestei sarcini.
O OCP [6] Principiul deschiderii/apropierii (principiul deschis-închis) „Entitățile software... ar trebui să fie deschise pentru extindere, dar închise pentru modificare”.
L LSP [7] Principiul substituției Liskov „funcțiile care folosesc un tip de bază ar trebui să poată folosi subtipuri ale tipului de bază fără să știe acest lucru.” Vezi și programarea contractelor .
eu ISP [8] principiul segregării interfeței „multe interfețe specifice clientului sunt mai bune decât o interfață de uz general” [9] .
D DIP [10] Principiul inversării dependenței „Dependența de abstracții. Nu există dependență de ceva anume” [9] .

Vezi și

Note

  1. 1 2 Martin, Robert (Unchiul Bob). Principiile O.O.D. butunclebob.com. Preluat la 3 mai 2016. Arhivat din original la 25 octombrie 2016. (rețineți referirea la „primele cinci principii”, adică articolul nu folosește acronimul.)
  2. Martin, Robert (Unchiul Bob). Obținerea unui început SOLID . objectmentor.com. Preluat la 3 mai 2016. Arhivat din original pe 26 decembrie 2016.
  3. 1 2 3 Sandi Metz (Universitatea Duke). SOLID Design orientat pe obiecte (link nu este disponibil) . Preluat la 3 mai 2016. Arhivat din original la 29 martie 2014.   Vorbind la Conferința Gotham Ruby 2009 din mai 2009.
  4. ↑ 1 2 Robert S. Martin, Mika Martin. Principii, modele și tehnici de dezvoltare agilă în C#. - Sankt Petersburg. : Simbol-plus, 2011. - S. 8. - 768 p. - ISBN 978-5-93286-197-4 .
  5. Principiul responsabilității unice . Arhivat din original la 1 iunie 2015.
  6. Principiul deschis/închis . Arhivat din original pe 5 septembrie 2015.
  7. Principiul substituției Liskov . Arhivat din original pe 5 septembrie 2015.
  8. Principiul de segregare a interfeței (1996). Arhivat din original pe 5 septembrie 2015.
  9. 1 2 Martin, Robert (Unchiul Bob). Principii de proiectare și modele de proiectare . objectmentor.com (2000). Consultat la 14 ianuarie 2009. Arhivat din original la 6 septembrie 2015.
  10. Principiul inversării dependenței . Arhivat din original pe 5 septembrie 2015.

Literatură

Link -uri