Sobes.tech
Senior

Kas yra GRASP?

sobes.tech AI

Atsakymas iš AI

GRASP (General Responsibility Assignment Software Patterns) — tai universali principų rinkinys atsakomybės paskyrimui klasėms ir objektams objektinio dizaino srityje. Jie padeda kurti lankstesnes, palaikomas ir pakartotinai naudojamas sistemas. Pagrindiniai GRASP modeliai yra:

  • Information Expert: Objektas, turintis reikiamą informaciją veiksmui atlikti, turėtų prisiimti atsakomybę už šį veiksmą.
  • Creator: Klasė, kuri saugo arba agreguoja kitų klasių egzempliorius, glaudžiai susijusi su jais arba turi duomenis jų kūrimui, turėtų prisiimti atsakomybę už jų kūrimą.
  • Controller: Klasė, atsakinga už sistemos įvykio apdorojimą (pavyzdžiui, naudotojo veiksmus), turėtų prisiimti atsakomybę už kitų objektų koordinavimą, bet ne už patį darbą.
  • Pure Fabrication: Dirbtinai sukurta klasė, kuri neatspindi srities koncepcijos, bet sukurta siekiant sumažinti priklausomybes, pagerinti ryšį arba užtikrinti pakartotinį naudojimą.
  • Low Coupling: Projektavimo principas, siekiantis sumažinti priklausomybes tarp klasių.
  • High Cohesion: Projektavimo principas, siekiantis, kad klases metodai būtų glaudžiai susiję pagal funkcionalumą.
  • Polymorphism: Atsakomybės paskyrimas už elgesio pasirinkimą pagal objekto tipą (naudojant virtualius metodus).
  • Protected Variations: Projektavimo principas, apsaugantis nuo kitų elementų (objektų, subsistemų, sistemų) pokyčių, nustatant stabilų sąsają.
  • Indirection: Atsakomybės paskyrimas tarpinio objekto užduočiai, siekiant išvengti tiesioginio dviejų elementų ryšio.

GRASP taikymas padeda išvengti "stambių" valdiklių ir valdytojų, pagerinti kodo struktūrą ir palengvinti jos plėtrą.