CSQ - Bertrand Meyer
Date: 2022-12-01Last modified: 2022-12-12
O CQS (Command Query Separation) é um pattern introduzido por Bertrand Meyer no livro Object Oriented Software Construction, com a primeira edição publicada em 1988, e a segunda, revisada e expandida em 1997.
A idéia principal é que os métodos de uma aplicação podem ser comandos (commands) ou consultas (queries), mas nunca ambos.
Temos então:
- Commands: métodos que alteram estado (mudam valores) sem retornar nenhum valor, e causam efeitos colaterais no sistema.
- Queries: métodos que retornam valores, mas não alteram estado.
É uma excelente abordagem com pouquíssimas exceções.