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ą.