2. Objektově orientovaná analýza a návrh v backendových systémech Flashcards
Co znamená Single Responsibility Principle v objektově orientovaném návrhu?
Single Responsibility Principle říká, že každá třída by měla mít pouze jednu odpovědnost nebo důvod pro změnu. Tento princip zajišťuje, že třídy nejsou přetíženy více funkcemi, což usnadňuje údržbu a rozvoj aplikace.
Jaký je účel principu Separation of Concerns ve vývoji software?
Separation of Concerns usiluje o rozdělení aplikace do samostatných oblastí, které se zabývají specifickou funkcionalitou. Toto rozdělení napomáhá lepší organizaci kódu, jeho testovatelnosti a údržbě.
Co znamená mít vysokou soudržnost v kontextu objektově orientovaného návrhu a jaké jsou její výhody?
High cohesion znamená, že prvky v rámci jednoho modulu nebo třídy jsou úzce související a vzájemně se doplňují. Vysoká soudržnost usnadňuje pochopení, správu a testování kódu, protože všechny související funkce jsou organizovány dohromady.
Co je low coupling a jaké jsou jeho výhody v objektově orientovaném programování?
Low coupling označuje minimalizaci závislostí mezi třídami nebo moduly. Třídy jsou navrženy tak, aby mohly fungovat nezávisle nebo s minimálními závislostmi, což usnadňuje jejich znovupoužití a minimalizuje dopad změn v jedné části systému na ostatní části.
Jaké jsou příklady návrhových vzorů používaných pro dosažení nízké provázanosti a co každý z nich přináší?
- Dependency Injection (DI): Technika pro dosažení nízké provázanosti, kde závislosti jsou dodávány třídě externě, což usnadňuje testování a nahrazení závislostí.
- Facade Pattern: Poskytuje jednoduché rozhraní k složitému subsystému, čímž snižuje složitost a zvyšuje nezávislost mezi systémy.