개발 원리 & 디자인 패턴

    CQS에 관한 고찰 (feat. Side Effect, 참조 투명성 그리고 순수 함수)

    CQS란? CQS는 함수를 크게 두 가지로 분류해서 구현하는 원리이다. Martin Fowler는 그의 블로그에서 CQS의 Command와 Query를 아래와 같이 정의했다. (CQS)의 개념을 최초로 소개한 사람은 Bertrand Meyor이다.) Queries: Return a result and do not change the observable state of the system (are free of side effects). Commands: Change the state of a system but do not return a value. 번역해 보면 아래와 같다. Queries: 관찰 가능한 시스템의 상태를 변경하지 않고, 그 결과를 반환하는 함수 Commands: 관찰 가능한 시스템의 상..