acc-grasp-knowledge
Installation
SKILL.md
GRASP Principles Knowledge Base
Overview
GRASP (General Responsibility Assignment Software Patterns) provides guidelines for assigning responsibilities to classes and objects in object-oriented design.
| Principle | Core Question | Goal |
|---|---|---|
| Information Expert | Who has the data? | Assign to class with information |
| Creator | Who creates objects? | Assign creation responsibility |
| Controller | Who handles system events? | Coordinate use case flow |
| Low Coupling | How to reduce dependencies? | Minimize interconnections |
| High Cohesion | How to focus responsibilities? | Keep related things together |
| Polymorphism | How to handle type variations? | Use polymorphic operations |
| Pure Fabrication | What if no domain class fits? | Create artificial class |
| Indirection | How to decouple? | Add intermediate object |
| Protected Variations | How to handle change? | Hide variation points |