파비의 매일매일 공부기록

파이썬으로 살펴보는 아키텍처 패턴 - 12장 #2 본문

Study/Python

파이썬으로 살펴보는 아키텍처 패턴 - 12장 #2

fabichoi 2021. 10. 30. 23:30

12.3 Post/리디렉션/Get과 CQS
- 웹 개발을 하는 사람에게는 이 패턴이 익숙함.
- 웹 엔드포인트는 HTTP POST 요청을 받고, 처리한 결과를 보여주기 위해 리디렉션으로 응답함.
- 쓰기와 읽기 단계를 분리해서 문제를 해결할 수 있음.
- 이 기법은 명령-질의 분리(CQS)의 간단한 예.
- CQS에서는 한 가지 간단한 규칙을 따름 : 함수는 상태를 변경하거나 질문에 답하는 일 중에 한 가지만 해야 함. 두 가지 일을 모두 다해서는 안됨.

12.4 점심을 잠깐 미뤄라
- 단순 SQL을 사용해서 읽기와 쓰기를 분리해 봄.

12.5 CQRS 뷰 테스트하기
- 단순 SQL을 적용한 views.py를 테스트

12.6 '명확한' 대안 1: 기존 저장소 사용하기
- 기존 저장소와 도메인 모델 클래스를 재사용하는 방법이 그렇게 쉽지 않음.
- 새로운 도우미 메서드를 양쪽에 다 추가하고 파이썬 수준에서 루프와 걸러내는 작업을 여러 번 수행해야 함.
- 데이터 베이스를 사용하면 이 모든 작업을 훨씬 더 효과적으로 수행 가능.
- 그러나 구현이 꽤 투박하게 느껴지는 단점이 있음.

12.7 읽기 연산에 최적화되지 않은 도메인 모델
- 도메인 모델을 만드는 데 든 노력은 주로 쓰기 연산을 위한 것.
- 읽기를 위한 요구 사항은 개념적으로 도메인 모델에 대한 요구 사항과 상당히 다름.
- 접근 편의를 위해 도메인 클래스는 상태를 변경하는 메서드를 여러 가지 제공.
- 도메인 모델의 복잡도가 커질수록 모델을 구성하는 방법에 대한 선택의 폭이 넓어짐.

 

반응형
Comments