Загрузка...
Загрузка...
Продолжая работу с платформой, вы принимаете условия Политики конфиденциальности и использование файлов cookie.
GRASP (General Responsibility Assignment Software Patterns) — это набор из девяти принципов для распределения обязанностей между классами и объектами в объектно‑ориентированном дизайне.
Note:
GRASP не навязывает конкретную структуру, а предоставляет руководство для разумного распределения обязанностей.
Проанализируйте сценарии использования и выделите набор операций и данных.
Для каждой обязанности выберите класс‑«Information Expert», у которого есть нужные данные.
Примените принципы Low Coupling и High Cohesion, перераспределите обязанности при необходимости.
Если класс начинают перегружать или связность слишком сильная, добавьте вспомогательный класс или посредник.
Оберните нестабильный код стабильными интерфейсами (Protected Variations).
Note:
GRASP лучше применять на ранних этапах проектирования, чтобы избежать антипаттернов и улучшить поддержку системы.
Подробнее — в оригинальной статье Лауры Копперсмит:
GRASP на Wikipedia
GRASP — это девять принципов назначения обязанностей в объектно‑ориентированном дизайне.
Основные идеи: Information Expert, Low Coupling, High Cohesion и Protected Variations.
Следуя GRASP, вы получите более гибкую, поддерживаемую и расширяемую архитектуру.
refactoring.guru - паттерны и рефакторинг
patterns.dev - паттерны