Logická architektura softwaru
Architektura
Logická vs. Fyzická architektura
Druhy logické architektury
-
Vícevrstvá architektura
- Monolitická - "spaghetti code"
- Dvouvrstvá - API
- Třívrstvá - MVC
- Komponentová architektura
- Servisně orientovaná architektura (SOA)
- Roury a filtry (Pipes and filters) - Unix
- ...
O čem to tedy je?
- Rozdělení většího problému na menší části
- Rozdělení zodpovědnosti v systému
-
Zpětné poskládání z části do celku
- Rozšiřitelnost
- Způsob komunikace mezi částmi
We can go deeper...
GRASP návrhové vzory
-
Controller
-
Požadavky na stystém vyřizuje oddělená kontrolní vrstva (např. HTTP requesty, uživatelská interakce)
-
-
Creator
-
Část B vytváří část A pokud je A její částí a má pro její vytvoření dostatek informací v opačném případě B závisí na A
-
-
High Cohesion
-
Jedna část (kus kódu) by se měla zaměřovat na jednu věc
-
-
Indirection
-
Prostředník může snížit vazby mezi 2 částmi systému a zvýšit tak jejich znovupoužitelnost
-
General Responsibility Assignment Software Patterns
GRASP návrhové vzory 2
-
Information Expert
-
Zodpovědnost má ta část systému, která má všechny potřebné informace
-
-
Low Coupling
-
Snaha o co nejméně vazeb
-
Chytré rozdělení zodpovědnosti
-
Vyvarovat se cyklickým vazbám
-
-
Protected Variations
-
Stabilním rozhraním na klíčových místech aplikace se vyvarujeme rozbití aplikace změnami
-
-
Pure Fabrication
-
Oddělení "servisních" částí mimo primární funkci snižuje závislosti a zvyšuje soudružnost (např. samostatná validační vrstva)
-
Diskuze
Logická Architektura Softwaru
By Jindřich Máca
Logická Architektura Softwaru
- 397