UCHOPIT

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 29. prosince 2015; kontroly vyžadují 84 úprav .

GRASP ( anglicky  general zodpovědných přiřazovacích softwarových vzorů  - obecné vzorce rozdělení odpovědností; existuje také anglické slovo "grasp" - "kontrola, uchopit" ) - vzory používané v objektově orientovaném designu k řešení obecných úkolů přidělování odpovědností třídám a předměty .

Kniha Craiga Larmana Applying UML and Design Patterns [ 1] popisuje 9 takových vzorů: každý pomáhá vyřešit nějaký problém, který vzniká jak v objektově orientované analýze , tak v téměř jakémkoli projektu vývoje softwaru . Vzory „GRASP“ jsou tedy dobře zdokumentované, standardizované a časem prověřené principy objektově orientované analýzy a nejedná se o pokus přinést něco zásadně nového.

Adresář šablon

Stručný popis devíti vzorů:

1. Informační expert

Šablona definuje základní princip rozdělení odpovědnosti:

Odpovědnost by měl nést ten, kdo vlastní maximum informací potřebných k provedení – informační expert .

Tento vzorec je nejzřetelnější a nejdůležitější z devíti. Pokud to nezohledníte, dostanete špagetový kód , kterému je těžké porozumět.

Lokalizace odpovědností, prováděná podle šablony:

2. Tvůrce

Problém: Kdo je zodpovědný za vytvoření objektu nějaké třídy A?

Řešení: Dejte třídě B odpovědnost za vytváření objektů třídy A, pokud třída B:

Můžeme říci, že vzor " Creator " je interpretací vzoru " Information Expert " (viz bod č. 1) v kontextu vytváření objektů.

Většina generativních návrhových vzorů je tak či onak odvozena od vzoru „ Tvůrce “ nebo na něm spoléhá .

3. Controller (Controller)

4. Nízká spojka

„ Stupeň zapojení“ je mírou kontinuity prvku s jinými prvky (nebo mírou údajů, které o nich má).

„ Slabé“ zapojení je model hodnocení, který určuje, jak přidělit odpovědnosti, které je třeba zachovat.

" Slabé" propojení - rozdělení odpovědností a dat, zajištění vzájemné nezávislosti tříd. Třída se „slabým“ propojením:

5. Vysoká soudržnost

Vysokotřídní soudržnost je hodnotový model, jehož cílem je udržovat objekty správně zaměřené, ovladatelné a srozumitelné. Vysoká soudržnost se obecně používá k udržení nízkého zapojení. Vysoká konektivita znamená, že povinnosti prvku spolu úzce souvisejí a jsou zaměřeny. Rozdělení programů do tříd a subsystémů je příkladem činnosti, která zvyšuje koherenci systému.

Naopak nízká konektivita je, když má daný prvek příliš mnoho nesouvisejících povinností. Prvky s nízkou konektivitou často trpí tím, že je obtížné je pochopit, používat a udržovat.

Soudržnost třídy je měřítkem zaměření předmětových oblastí jejích metod:

6. Polymorfismus

Zařízení a chování systému:

Příklad: Adaptaci komerčního systému na různé systémy daňového účetnictví lze zajistit prostřednictvím externího rozhraní objektů adaptéru (viz také: Šablona " Adaptéry ").

7. Čistá výroba

Není to specifické pro předmětnou oblast , ale:

" Pure Fabrication " odráží koncept služeb v doménově specifickém designovém modelu .

Příklad úlohy: Bez použití prostředků třídy "A" přidejte její objekty do databáze .

Řešení: Vytvořte třídu "B" pro záznam objektů třídy "A" (viz také: " Data Access Object ").

8. Směr

Slabé zapojení prvků systému (a možnost opětovného použití) je zajištěno určením meziobjektu jako jejich prostředníka .

Příklad: V architektuře Model-View-Controller regulátor ( angl. controller) oslabuje zapojení dat (eng. model) s jejich prezentací (eng. view) .

9. Odolnost vůči změnám (chráněné variace)

Šablona chrání prvky před změnou jinými prvky (objekty nebo subsystémy) tím, že z interakce dělá pevné rozhraní , přes které (a pouze přes které) je možná interakce mezi prvky. Chování lze změnit pouze vytvořením jiné implementace rozhraní.

Viz také

Odkazy

  1. Larman, Craig . Použití UML a vzorů - třetí vydání . [1] Archivováno 30. června 2003 na Wayback Machine