파비의 매일매일 공부기록

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

Study/Python

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

fabichoi 2021. 10. 2. 23:30

이번 챕터는 '저장소 패턴'에 대해서 다룬다.
핵심 로직과 인프라 관련 사항을 분리하는 방법으로 의존성 역전 원칙을 사용한다.
저장소 패턴 : 데이터 저장소를 더 간단히 추상화한 것으로 모델과 데이터 계층을 분리할 수 있다. 

2.1 도메인 모델 영속화
- 최소 기능 제품(Minimum viable product; MVP)
- 어떤 방식을 선택하든 결국에는 영속적인 저장소가 필요.

2.2 의사 코드: 무엇이 필요할까?
- 간단한 flask 프레임워크로 엔드포인트를 만들 때, DB에서 가져와 도메인 모델 객체를 초기화해야 한다.
- 도메인 객체 모델에 있는 정보를 데이터베이스에 저장하는 방법도 필요하다.

2.3 데이터 접근에 DIP 적용하기
- 장고의 경우 모델-뷰-템플릿 구조가 MVC 구조에서의 각 계층과 마찬가지로 서로 밀접하게 연결되어 있음.
- 어떤 경우든 계층을 분리해서 유지하고 각 계층이 바로 아래 계층에만 의존하도록 만드는 게 목표.
- 그러나 도메인 모델에는 그 어떤 의존 관계도 없기를 바란다. 하부 구조와 관련된 문제가 도메인 모델에 지속적으로 영향을 끼쳐서 단위 테스트를 느리게 하고 도메인 모델을 변경할 능력이 감소되는 것을 원하지 않음.
- 양파 아키텍처 : 모델을 '내부'에 있는 것으로 간주하고 의존성이 내부로 들어오게 만들어야 함.

기본적인 이론에 대한 설명은 여기까지고
다음 절부터는 코드를 작성하며 설명을 계속한다.

반응형
Comments