Ответ
GRASP (General Responsibility Assignment Software Patterns) — это набор принципов для распределения обязанностей между классами и объектами в ООП. Основные паттерны:
- Information Expert — назначать обязанность классу, который владеет необходимой информацией.
- Creator — класс должен создавать объекты, которые он содержит или агрегирует.
- Controller — использовать промежуточный класс для обработки системных событий.
- Low Coupling — минимизировать зависимости между классами.
- High Cohesion — класс должен выполнять одну четкую задачу.
Пример Creator:
class Order {
constructor() {
this.items = [];
}
addItem(product) {
const item = new OrderItem(product); // Order создаёт OrderItem
this.items.push(item);
}
}
GRASP помогает проектировать гибкие и поддерживаемые системы.