Sobes.tech
Senior

Čo je GRASP?

sobes.tech AI

Odpoveď od AI

GRASP (Všeobecné vzory priradenia zodpovedností softvéru) je súbor univerzálnych princípov pre priraďovanie zodpovedností triedam a objektom v objektovo orientovanom návrhu. Pomáhajú pri vytváraní flexibilných, udržiavateľných a znovu použiteľných systémov. Hlavné vzory GRASP zahŕňajú:

  • Informačný expert: Objekt, ktorý vlastní informácie potrebné na vykonanie akcie, by mal prevziať zodpovednosť za túto akciu.
  • Tvorca: Trieda, ktorá obsahuje alebo agreguje inštancie iných tried, je s nimi úzko prepojená alebo má inicializačné údaje na ich vytvorenie, mala by prevziať zodpovednosť za ich vytvorenie.
  • Kontrolór: Trieda zodpovedná za spracovanie systémovej udalosti (napríklad akcie používateľa), mala by koordinovať prácu iných objektov, ale nie vykonávať prácu sama.
  • Čistá výroba: Umelo vytvorená trieda, ktorá neodráža koncept domény, ale bola vytvorená na zníženie väzby, zlepšenie kohezie alebo uľahčenie opätovného použitia.
  • Nízka väzba: Princíp návrhu zameraný na minimalizáciu závislostí medzi triedami.
  • Vysoká kohezia: Princíp návrhu, ktorý sa snaží, aby metódy triedy boli úzko prepojené podľa funkčnosti.
  • Polymorfizmus: Priraďovanie zodpovedností na výber správania na základe typu objektu (cez virtuálne metódy).
  • Chránené variácie: Princíp návrhu, ktorý chráni pred zmenami iných prvkov (objektov, subsystémov, systémov) definovaním stabilného rozhrania.
  • Indirekcia: Priraďovanie zodpovedností medzi prostredníctvom objektu, aby sa zabránilo priamej väzbe medzi dvoma prvkami.

Použitie GRASP pomáha vyhnúť sa "hrubým" kontrolérom a manažérom, zlepšuje štruktúru kódu a uľahčuje jeho rozvoj.