# CQRS 패턴
- 시스템은 크게 상태 변경과 조회 기능 제공
- 상태 변경 : 결제 등
- 조회 : 주문서 조회 등
- CQRS 패턴은 상태를 변경(Command)하기 위한 모델과 상태를 제공하는 조회(Query)를 위한 모델을 분리하는 패턴을 의미
- 예를 들어 Order라는 리소스에 대해 Order(상태 변경, 명령), OrderData(조회) 2개의 모델로 나누어서 관리 가능
# CQRS 패턴의 장단점
# 장점
- 소프트웨어의 유지보수성을 높일 수 있음
- 모델별로 성능이나 요구사항에 맞는 데이터베이스나 데이터 접근 기술 사용 가능
- 예를 들어 명령 모델은 트랜잭션이 지원되는 RDB, 조회는 조회 성능이 높은 NoSQL 사용
# 단점
- 구현 코드가 많음
- 더 많은 구현 기술이 필요함
← 트랜잭셔널 아웃박스 패턴 의존성 주입 →