CQS1 Command-query separation (명령 질의 분리) Command-query separation (CQS)는 프로그래밍에서 사용하는 중요한 설계 원칙 중 하나로, 함수를 두 가지 유형 중 하나로 분류하여 구현하는 것을 의미한다. 두 가지 유형은 커맨드(command)와 쿼리(query). 커멘드는 시스템 상태를 변경하는 함수이며 일반적으로 값을 반환하지 않는다. 쿼리는 시스템의 상태를 변경하지 않고 값을 반환하여 시스템의 정보를 알려준다. 이 원칙은 내가 구현하는 함수가 시스템의 상태를 변경하는지(커맨드), 아니면 정보만을 제공하는지(쿼리)를 명확히 구분하는 것을 중요시 한다. 왜 이 원칙이 중요한지에 대해 내가 상점을 운영하는 상황에서 손님의 질문/요청을 받는 상황을 예로 들어 설명해보겠다. 여기서 상점은 '시스템'이고 질문/요청이 '시스템의 공개 .. 2024. 8. 6. 이전 1 다음