Chapter 11 11.1 단일 모델의 단점 주문 내역 조회 기능을 구현하려면 여러 애그리거트에서데이터를 가져와야 한다. Order에서 주문 정보를 가져와야 하고, Product에서 상품 이름을 가져와야 하고, Member에서 회원 이름과 ID를 가져와야 한다. 이러한 구현 복잡도 문제를 해결하려면 상태 변경을 위한 모델과 조회를 위한 모델을 분리하여 구현할 수 있다. 11.2 CQRS Command Query Responsibility Segregation의 약자로 상태를 변경하는 명령을 위한 모델과 상태를 제공하는 조회를 위한 모델을 분리하는 패턴이다. CQRS는 도메인이 복잡할수록 명령 기능과 조회 기능이 다루는 데이터 범위에 차이가난다. CQRS를 사용하면 각 모델에 맞는 구현 기술을 선택할 수..
Chapter 10 10.1 시스템 간 강결합 문제 외부 서비스를 사용할 때 발생할 수 있는 문제점 트랜잭션 처리가 애매해진다. 성능이 비교적 감소한다. (외부 서비스 성능에 직접적인 영향을 받게 된다.) 위의 문제를 해결하는 방법은 이벤트를 사용하는 것이다. 10.2 이벤트 개요 이벤트란? 과거에 벌어진 어떤 것. 사용자가 암호를 변경했을 때 > "암호를 변경했음 이벤트"가 벌어졌다고 할 수 있다. 사용자가 주문을 취소했을 때 > "주문을 취소했음 이벤트"가 벌어졌다고 할 수 있다. 도메인의 상태 변경과 관련된 요구사항들을 이벤트를 통해 구현할 수있다. "주문을 취소할 때 이메일을 보낸다."라는 요구사항에서 "주문을 취소할 때"는 주문이 취소 상태로 바뀌는 것을 의미하므로 "주문 취소됨 이벤트"를 이용..
- Total
- Today
- Yesterday
- 후기
- Programmers
- 비트코인
- Spring Boot
- 육군
- 구현
- 백준알고리즘
- CJ
- spring
- 자료구조
- 백준 알고리즘
- CJ Olivenetworks
- Python
- 안드로이드 스튜디오
- java
- 안드로이드 프로그래밍
- C언어
- 백준
- 코딩
- XML
- CJ 올리브네트웍스
- 프로그래머스
- 코딩테스트
- 문자열
- 기록지
- 코테
- 알고리즘
- BaekJoon
- c++
- 개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |