Principy SOLID
Principy objektově orientovaného programování SOLID jsou nezbytné pro vytváření funkčního, dlouhodobě udržitelného softwaru založeného na objektově orientovaném programování (OOP).
Základní principy SOLID:
- Jediná zodpovědnost - každý objekt má pouze jednu zodpovědnost (účel), která by měla být reprezentována samostatnou třídou. Například, extrakce dat z databáze a jejich následná validace by měly mít různé třídy, aby se tyto dva procesy vzájemně nemísily.
- Otevřenost / uzavřenost - třídy by měly být otevřeny pro rozšíření a obohacení o nové úlohy a zároveň uzavřeny pro modifikaci stávajícího kódu. To znamená, že do třídy lze přidat další moduly a funkce, ale původní kód musí zůstat nezměněn.
- Liskovové princip substituce - všechny vytvořené potomky musí zachovávat a demonstrovat chování (plněné úlohy) jejich rodiče.
- Rozdělení rozhraní - rozsáhlá rozhraní je nutné rozdělit na menší a specializovanější, aby nebylo uživatele zatěžováno nadbytečnými informacemi.
- Inverze závislostí - objekty vyšších úrovní, jako například třídy, by neměly záviset na modulech nižších úrovní, ale všechny by měly záviset na abstrakcích.
Viz také
-
princip
DRY,
který dělí software na malé komponenty -
princip
KISS,
který předpokládá odmítnutí zbytečného komplikování software -
princip
YAGNI,
který předpokládá odmítnutí nadbytečné funkcionality software -
princip
CQS,
který stanoví pro každou funkci pouze jeden příkaz -
princip
LoD,
který se aplikuje při vývoji software -
princip rozdělení zodpovědnosti,
který se aplikuje při vývoji software