Sobes.tech
Senior

Co je GRASP?

sobes.tech AI

Odpověď od AI

GRASP (Všeobecné vzory přiřazování odpovědností softwaru) je soubor univerzálních principů pro přiřazování odpovědností třídám a objektům v objektově orientovaném návrhu. Pomáhají vytvářet flexibilní, udržovatelné a znovu použitelné systémy. Hlavní vzory GRASP zahrnují:

  • Informační expert: Objekt, který vlastní informace potřebné k provedení akce, by měl převzít odpovědnost za tuto akci.
  • Tvůrce: Třída, která obsahuje nebo agreguje instance jiných tříd, je s nimi úzce spojena nebo má inicializační data pro jejich vytvoření, by měla převzít odpovědnost za jejich tvorbu.
  • Řadič: Třída odpovědná za zpracování systémové události (například akce uživatele), by měla koordinovat práci jiných objektů, ale sama práci nevykonávat.
  • Čistá výroba: Uměle vytvořená třída, která neodráží koncept domény, ale byla vytvořena ke snížení vazebnosti, zlepšení koheze nebo usnadnění opětovného použití.
  • Nízká vazba: Princip návrhu zaměřený na minimalizaci závislostí mezi třídami.
  • Vysoká koheze: Princip návrhu, který usiluje o to, aby metody třídy byly těsně spojeny podle funkčnosti.
  • Polymorfismus: Přiřazení odpovědnosti za volbu chování na základě typu objektu (přes virtuální metody).
  • Chráněné variace: Princip návrhu, který chrání před změnami jiných prvků (objektů, subsystémů, systémů) definováním stabilního rozhraní.
  • Indirekce: Přiřazení odpovědnosti prostřednímu objektu, aby se zabránilo přímému spojení dvou prvků.

Použití GRASP pomáhá vyhnout se "tlustým" řadičům a manažerům, zlepšuje strukturu kódu a usnadňuje jeho rozvoj.