Встречается на собеседованиях • сегодня

Зачем нужен 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() возвращает элемент и изменяет массив).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы