Please enable JavaScript.
Coggle requires JavaScript to display documents.
GRASP (1-2-3 (Information Expert (Problema: Care este un principiu basic…
GRASP
1-2-3
-
Creator
-
Solutia: Asigneaza clasei B responsabilitatea de a creea obiectul A daca una dintre urmatoarele este adevarata (cu cat mai multe cu atat mai bine):
-
-
-
-
Controller
Problema: Care este primul obiect de sub layerul de UI care primeste si coordoneaza sau controleaza o operatie de sistem?
-
4-5-6
High Cohesion
Problema: Cum putem mentine obiectele focusate, de inteles, maintenabile si ca si side effect sa suportam Low Coupling?
-
Cohesion - este o unitate de masura prin care masuram cat de strans legate sunt responsabilitatile unui obiect au legatura cu acesta.
Indirection
Problema: Unde sa asignam o responsabilitate sa ocolim cuplarea directa intre doua sau mai multe elemente?
Solutia; Asigneaza responsabilitatea unui obiect intermediar sa medizeze comunicarea intre componente sau servicii astfel incat sa nu fie cuplate direct.
-
Low Coupling
Problem: Cum putem reduce impactul schimbarilor? Sa putem suporta dependinte putine si reutilizatre crescuta?
-
-
7-8-9
Pure Fabrication
Problema: Ce obiect ar trebuii sa aiba responsabilitatea, cand nu vrei sa incalci High Cohesion and Low Coupling dar solutiile oferite de catre celelalte principii nu sunt corespunzatoare?
Solutia: Asigneaza un set cu grad mare de coeziune la o clasa artificiala care nu reprezinta o problema de domeniu
-
Protected Variations
Problema: Cum sa facem design la obiecte, subsisteme si sisteme astfel incat variatiile sau instabilitatea in aceste elementenu au un impact nedoritasupra altor elemente?
Solutia: Indentifica punctele de variatii sau instabilitate predictibile, asigneaza responsabilitatile de a creea o interfata stabila in jurul lor.
Polymorphism
-
Solutia: Cand alternativele variaza in functie de tip, asigneaza responsabilitatea comportamentului acelui tip pentru care comportamentul este diferit.
-
-