1/19
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
GRASP
assign responsibilities of classes & objects
Creator
GRASP
class should create objects it closely uses
Information expert
GRASP
assign responsibility to class that has needed data
Low coupling
GRASP
minimize dependencies between classes
High cohesion
GRASP
keep classes focused, not overloaded
Controller
GRASP
separate UI from model
Polymorphism
GRASP
implementing classes
Pure fabrication
GRASP
make helper classes when no natural class works
Indirection
GRASP
add middle layer between classes for less dependency
Protected Variations
GRASP
protect system from what can change
SOLID
design & relationship of classes
Single responsibility
SOLID
one class = one job
Open/closed
SOLID
open for extension, closed for modification
Liskov substitution
SOLID
child objects can replace parent objects
Interface segregation
SOLID
client shouldn’t depend on methods it doesn’t use
Dependency inversion
SOLID
high-level classes shouldn’t depend on low-level classes
Singleton pattern (creational)
ensures only one instance of a class with global access
Factory method pattern (creational)
standard mechanism for object creation
Strategy pattern (behavioral)
encapsulate interchangeable behaviors, swap algorithms without changing the main code
Visitor pattern (behavioral)
add new operations to existing objects without altering object’s code