fastapi를 통한 구조 개선에 대해 찾던 중 layered architecture에 관한 얘기가 나왔고 적용을 위해 찾아보게 되었습니다.
list 등 타입힌트가 최근 3.9부터 build-in 으로 권장되는 등 수정사항이 이루어지지 않아 최신 버전의 내용이 적용된 것인지 걱정되었지만
더 좋은 구조 개선을 위해 찾아보았습니다.
코드를 보던 중 async_session 등 추가적으로 알아둬야 할 기능 또한 파악할 수 있었고,
파이썬으로 살펴보는 아키텍쳐패턴을 주문했는데 해당 책을 스터디하며 수정해나가야할 것 같다는 생각이 들었습니다.
스프링처럼 조금 정해진 유형이 나올 수 있지 않을까 싶었는데 파이썬은 보다 빠른 개발과 유연함에 초점을 두어서인지 아직 정해진 레이어가 자리잡지 않은 것 같았습니다.
그럼에도 좋은 구조는 어느정도 정해져있을 거라 생각하는데요, service 등 비즈니스 레이어를 분리하고 domain 모델을 분리하여 스프링과 유사하게 가는 것도 좋을 것 같다는 생각을 했습니다. 우선은 현재 진행하고 있는 프로젝트에서 fastapi를 기반으로 구조 테스트를 통해 좀 더 유지보수가 편하고 확장성있는 구조인지 계속 확인해보고 수정해나갈 것 같습니다.
https://florian-kromer.medium.com/fastapi-microservice-patterns-domain-driven-design-e99f6f475691
https://github.com/teamhide/fastapi-layered-architecture
'Python' 카테고리의 다른 글
Python 개발하며 실수할 수 있는 것 몇가지 (0) | 2022.07.27 |
---|---|
python 리스트를 딕셔너리로 한줄에 바꾸는 방법. (0) | 2021.12.28 |
python 메모리 관리( 레퍼런스 카운트, 가비지 콜렉터) (0) | 2021.06.20 |
python range()와 xrange() (메모리 효율성) (0) | 2021.06.20 |
제너레이터, yield (이터레이터와 제너레이터) (0) | 2021.06.19 |