GRASP (General Responsibility Assignment Software Patterns) — шаблоны проектирования, используемые для решения общих задач по назначению обязанностей классам и объектам.
Известно девять GRAPS шаблонов. Эти паттерны не имеют выраженной структуры, четкой области применения и конкретной решаемой проблемы, а лишь представляют собой обобщенные подходы/рекомендации/принципы, используемые при проектировании дизайна системы.
Шаблоны включают в себя:
- Information Expert (Информационные эксперт) ;
- Creator (Создатель) ;
- Controller (Контроллер) ;
- Low Coupling (Слабая связанность) ;
- High Cohesion (Высокая сцепленность) ;
- Pure Fabrication (Чистая выдумка или чистое синтезирование) ;
- Indirection (Посредник) ;
- Protected Variations (Сокрытие реализации или защищенные изменения) ;
- Polymorphism (Полиморфизм).