Senior
Mis on GRASP?
sobes.tech AI
Vastus AI-lt
GRASP (General Responsibility Assignment Software Patterns) — see on universaalne põhimõtete kogum vastutuse määramiseks klassidele ja objektidele objektorienteeritud disainis. Need aitavad luua paindlikke, hooldatavaid ja taaskasutatavaid süsteeme. Peamised GRASP-mudelid on:
- Information Expert: Objekt, kellel on vajalik teave tegevuse täitmiseks, peaks võtma endale vastutuse selle tegevuse eest.
- Creator: Klass, mis sisaldab või kogub teiste klasside eksemplare, on nendega tihedalt seotud või omab andmeid nende loomise jaoks, peaks võtma endale vastutuse nende loomise eest.
- Controller: Klass, mis vastutab süsteemi sündmuse (näiteks kasutaja tegevuse) töötlemise eest, peaks koordineerima teiste objektide tööd, kuid mitte ise töö teostama.
- Pure Fabrication: Tehislikult loodud klass, mis ei peegelda valdkonna kontseptsiooni, kuid on loodud sidususe vähendamiseks, sidususe parandamiseks või taaskasutamise tagamiseks.
- Low Coupling: Disainiprintsiip, mille eesmärk on minimeerida sõltuvusi klasside vahel.
- High Cohesion: Disainiprintsiip, mille eesmärk on tagada, et klassi meetodid oleksid funktsionaalselt tihedalt seotud.
- Polymorphism: Vastutuse määramine käitumise valiku eest objekti tüübi põhjal (virtuaalsete meetodite kaudu).
- Protected Variations: Disainiprintsiip, mis kaitseb teistest elementidest (objektidest, alamsüsteemidest, süsteemidest) tulenevate muudatuste eest, määrates stabiilse liidese.
- Indirection: Vastutuse määramine vahendava objekti kaudu, et vältida kahe elemendi otsest seost.
GRASP-i kasutamine aitab vältida "paksud" kontrollerid ja haldurid, parandada koodi struktuuri ning hõlbustada selle arengut.