Obsah

SOLID (Principy čistého návrhu)

SOLID je mnemotechnická pomůcka pro pět pravidel, která pomáhají programátorům vyhnout se „hnilobě softwaru“ (situaci, kdy je kód tak složitý, že každá změna způsobí chybu na jiném místě).


1. S – Single Responsibility Principle (SRP)

Princip jedné odpovědnosti: Každá třída by měla mít pouze jednu odpovědnost a tedy pouze jeden důvod ke změně.


2. O – Open/Closed Principle (OCP)

Princip otevřenosti/uzavřenosti: Softwarové entity by měly být otevřené pro rozšiřování, ale uzavřené pro modifikaci.


3. L – Liskov Substitution Principle (LSP)

Liskovové princip zastupitelnosti: Objekty v programu by měly být nahraditelné svými potomky, aniž by se změnila správnost programu.


4. I – Interface Segregation Principle (ISP)

Princip oddělení rozhraní: Klienti by neměli být nuceni záviset na metodách, které nepoužívají.


5. D – Dependency Inversion Principle (DIP)

Princip obrácení závislostí: Moduly na vyšší úrovni by neměly záviset na modulech na nižší úrovni. Oba by měly záviset na abstrakcích (rozhraních).


Proč SOLID používat?

Výhoda Popis
Udržovatelnost Snadnější hledání a oprava chyb v izolovaných třídách.
Testovatelnost Malé třídy s jasnou odpovědností se mnohem lépe testují.
Znovupoužitelnost Kód lze snadněji přenášet do jiných projektů.
Týmová práce Jasně definované hranice mezi moduly umožňují souběžný vývoj.

Související pojmy: OOP, Class, Dědičnost, Polymorfismus, Interface, Abstraktní třída, DRY princip.