본문 바로가기
Python

파이썬으로 클린 아키텍쳐 적용하기

by dharana7723 2022. 7. 26.

https://velog.io/@jahoy/Python%EC%9C%BC%EB%A1%9C-Clean-Architecture-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

 

Python으로 클린 아키텍처 적용하기

Implementing the Clean Architecture in Python 을 읽고 정리한 글입니다. 저자가 실제 도메인 주도 설계(DDD), CQRS, Event Sourcing 등을 적용해보면서 겪은 경험을 풀어낸 책으로 실무에 적용 가능한 패턴을 소개

velog.io


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

 

GitHub - teamhide/fastapi-layered-architecture: FastAPI Layered Architecture

FastAPI Layered Architecture. Contribute to teamhide/fastapi-layered-architecture development by creating an account on GitHub.

github.com