Встречается на собеседованиях • сегодня
Зачем нужен Command Query Separation
CQS (Command Query Separation) — это принцип, разделяющий методы на команды (изменяют состояние) и запросы (возвращают данные).
Плюсы:
- Чище код: методы имеют одну ответственность.
- Предсказуемость: запросы не имеют побочных эффектов.
- Упрощает тестирование и отладку.
Пример:
javascript
// Нарушение CQS
class User {
constructor(name) { this.name = name; }
getNameAndReset() {
const name = this.name;
this.name = '';
return name; // и запрос, и команда
}
}
// Следование CQS
class User {
constructor(name) { this.name = name; }
getName() { return this.name; } // запрос
resetName() { this.name = ''; } // команда
}Исключения:
- Оптимизация (например, кэширование).
- Событийные системы (например,
Array.pop()возвращает элемент и изменяет массив).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы