Open Seungpang opened 2 years ago
CQS는 뭐고? 더 나아가 CQRS 뭘까?
4가지 원칙과 기법에서 디비터의 법칙, 묻지 말고 시켜라는 많이 들어보기도 하고 연습을 했는데 의도를 드러내는 인터페이스 또는 명령-쿼리 분리는 잘 들어보지 못해서 찾아봤는데
Bertrand Meyer가 말하는 CQS는 ‘시스템의 상태를 바꾸는지’를 기준으로 함수를 크게 두 가지로 분류한다.
CQRS를 명령(시스템 데이터 변경) 역할을 수행하는 구성 요소와 쿼리(시스템 데이터 조회) 역할을 수행하는 구성 요소를 나누는 것이 CQRS
명령(시스템 데이터 변경) 역할을 수행하는 구성 요소와 쿼리(시스템 데이터 조회)역할을 수행하는 구성 요소를 나누는 것이 CQRS
202p ~ 213p 마틴 파울러 글
CQS: 객체1개에서 퍼블릭 인터페이스를 제공함에 있어 명령과 쿼리를 구분
CQRS: 명령을 담당하는 객체와 쿼리를 담당하는 객체를 구분
CQS, CQRS의 공통적인 장점은 가독성이 좋아진다.
만약 업데이트가 빈번하다면 데이터 전파하는 과정에서 문제가 있지 않나?
주제
CQS는 뭐고? 더 나아가 CQRS 뭘까?
선정 이유
4가지 원칙과 기법에서 디비터의 법칙, 묻지 말고 시켜라는 많이 들어보기도 하고 연습을 했는데 의도를 드러내는 인터페이스 또는 명령-쿼리 분리는 잘 들어보지 못해서 찾아봤는데
Bertrand Meyer가 말하는 CQS는 ‘시스템의 상태를 바꾸는지’를 기준으로 함수를 크게 두 가지로 분류한다.
Command:
Query:
CQRS
CQRS를 명령(시스템 데이터 변경) 역할을 수행하는 구성 요소와 쿼리(시스템 데이터 조회) 역할을 수행하는 구성 요소를 나누는 것이 CQRS
구현: 같은 프로세스, 같은 DB
구현: 같은 프로세스, 같은 DB, 다른 테이블
구현: 같은 프로세스, 다른 DB
구현: 다른 프로세스, 다른 DB
명령(시스템 데이터 변경) 역할을 수행하는 구성 요소와 쿼리(시스템 데이터 조회)역할을 수행하는 구성 요소를 나누는 것이 CQRS
관련 페이지
202p ~ 213p 마틴 파울러 글