Встречается на собеседованиях • сегодня
Что такое CQRS
CQRS (Command Query Responsibility Segregation) — это шаблон проектирования, разделяющий операции чтения (Query) и записи (Command) в разные модели.
Основные идеи:
- Команды (Commands) изменяют состояние (например,
createUser,updateOrder). Они выполняются через одну модель, обычно с валидацией и бизнес-логикой. - Запросы (Queries) только читают данные (например,
getUserById,listOrders). Они используют упрощенную модель, часто оптимизированную для чтения (например, денормализованные данные).
Преимущества:
- Масштабируемость (разные БД для чтения/записи).
- Гибкость (разные модели под задачи).
- Упрощение сложных систем.
Пример:
java
// Command
public class CreateUserCommand {
private String name;
private String email;
// геттеры/сеттеры
}
// Query
public class UserView {
private String id;
private String name;
// геттеры/сеттеры
}Когда использовать:
- Высокая нагрузка на чтение.
- Сложные бизнес-правила для записи.
- Разные требования к данным для чтения/записи.
Минусы:
- Усложнение архитектуры.
- Синхронизация моделей (Event Sourcing часто используется вместе).

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