Встречается на собеседованиях • сегодня
Что такое GRASP
GRASP (General Responsibility Assignment Software Patterns) — это набор принципов для распределения обязанностей между классами в объектно-ориентированном проектировании. Основные паттерны GRASP:
- Информационный эксперт — назначать ответственность классу, который владеет необходимой информацией.
- Создатель — класс, создающий объекты, должен их содержать или агрегировать.
- Контроллер — использовать промежуточный класс для обработки системных событий.
- Низкая связанность — минимизировать зависимости между классами.
- Высокая связность — группировать связанные обязанности в одном классе.
- Полиморфизм — использовать полиморфизм для обработки альтернативных вариантов поведения.
- Чистая выдумка — создавать искусственные классы для соблюдения принципов.
Пример с Информационным экспертом:
python
class Order:
def __init__(self, items):
self.items = items
def calculate_total(self): # Order знает свои items, поэтому логично считать сумму здесь
return sum(item.price * item.quantity for item in self.items)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы