SOLID

SOLIDmnemonik zaproponowany przez Roberta C. Martina, opisujący pięć podstawowych założeń programowania obiektowego: zasady jednej odpowiedzialności (ang. single responsibility), zasady otwarte-zamknięte (ang. open-close), zasady podstawienia Liskov (ang. Liskov substitution principle), zasady segregacji interfejsów (ang. interface segregation principle) oraz zasady odwrócenia zależności (ang. dependency inversion principle)[1].

Nazwę SOLID zaproponował Michael Feathers, który zauważył, że jeśli ułożyć zasady, zebrane przez Martina, w innej kolejności, pierwsze litery utworzą słowo SOLID[2].

Inicjał Skrót Koncepcja
S SRP[3]
Single responsibility principle (Zasada jednej odpowiedzialności)
Klasa powinna mieć tylko jedną odpowiedzialność (nigdy nie powinien istnieć więcej niż jeden powód do modyfikacji klasy).
O OCP[4]
Open/closed principle (Zasada otwarte-zamknięte)
Klasy (encje) powinny być otwarte na rozszerzenia i zamknięte na modyfikacje.
L LSP[5]
Liskov substitution principle (Zasada podstawienia Liskov)
Funkcje, które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów.
I ISP[6]
Interface segregation principle (Zasada segregacji interfejsów)
Wiele dedykowanych interfejsów jest lepsze niż jeden ogólny.
D DIP[7]
Dependency inversion principle (Zasada odwrócenia zależności)
Wysokopoziomowe moduły nie powinny zależeć od modułów niskopoziomowych – zależności między nimi powinny wynikać z abstrakcji.

Zobacz też

Przypisy

  1. Principles of Ood. [dostęp 2012-01-08].
  2. Robert C. Martin: Czysta architektura. Helion, 2022, s. 78. ISBN 83-283-9109-0. (pol.).
  3. Single Responsibility Principle. [dostęp 2015-09-05].
  4. Open/Closed Principle. [dostęp 2015-09-05].
  5. Liskov Substitution Principle. [dostęp 2015-09-05].
  6. Interface Segregation Principle. [dostęp 2015-09-05].
  7. Dependency Inversion Principle. [dostęp 2015-09-05].

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.
Kembali kehalaman sebelumnya