Sobes.tech
Senior

Kas ir GRASP?

sobes.tech AI

Atbilde no AI

GRASP (General Responsibility Assignment Software Patterns) — tas ir universāls principu kopums atbildības piešķiršanai klasēm un objektiem objektorientētajā dizainā. Tie palīdz izveidot elastīgas, uzturamas un atkārtoti izmantojamas sistēmas. Galvenie GRASP modeļi ir:

  • Information Expert: Objekts, kuram ir nepieciešamā informācija, lai veiktu darbību, tam būtu jāuzņemas atbildība par šo darbību.
  • Creator: Klase, kas satur vai agregē citu klases eksemplārus, cieši saistīta ar tiem vai tai ir dati to izveidei, tai būtu jāuzņemas atbildība par to izveidi.
  • Controller: Klase, kas ir atbildīga par sistēmas notikuma apstrādi (piemēram, lietotāja darbības), tai būtu jākoordinē citu objektu darbs, bet ne pati darba izpilde.
  • Pure Fabrication: Mākslīgi izveidota klase, kas neatspoguļo jomas koncepciju, bet ir izveidota, lai samazinātu sasaisti, uzlabotu sasaisti vai nodrošinātu atkārtotu izmantošanu.
  • Low Coupling: Projektēšanas princips, kas vērsts uz sasaistes samazināšanu starp klasēm.
  • High Cohesion: Projektēšanas princips, kas vērsts uz to, lai klases metodes būtu cieši saistītas pēc funkcionalitātes.
  • Polymorphism: Atbildības piešķiršana par uzvedības izvēli, pamatojoties uz objekta tipu (ar virtuāliem metodēm).
  • Protected Variations: Projektēšanas princips, kas aizsargā no citu elementu (objektu, subsistēmu, sistēmu) izmaiņām, definējot stabilu interfeisu.
  • Indirection: Atbildības piešķiršana starpniekobjektam, lai izvairītos no tiešas divu elementu saistības.

GRASP pielietošana palīdz izvairīties no "biezajiem" kontrolieriem un menedžeriem, uzlabot koda struktūru un atvieglot tā attīstību.