Scientia Conditorium

[책리뷰] 파이썬으로 살펴보는 아키텍처 패턴 본문

서평/IT-책

[책리뷰] 파이썬으로 살펴보는 아키텍처 패턴

크썸 2021. 6. 20. 18:43

 

개체지향 프로그래밍에서 디자인 패턴은 특정 문제에 대해 재사용 가능한 해결책이다. 즉, 코드를 효율적으로 설계하여 비슷한 문제가 발생했을 때 해결하기 위함이다. 아키텍처 패턴은 이보다 상위 수준을 뜻한다. 하드웨어의 성능 제한, 소프트웨어 설계의 비용 및 위험성 등을 들 수 있다. 프로그래밍을 해본 사람이라면 디자인패턴 한두개쯤은 알고 있을 것이다. 중복되는 코드를 최대한 줄이고 재사용성을 높이기 위해서라도 필수일 것이다. 아키텍처 패턴은 필수라고 한다면 필수이지만 당장은 아니다.

 

프로젝트의 규모가 커질수록 혼자서만 코드를 작성하는게 아니기 때문에 여러가지 상황을 고려해야 한다. 주니어 프로그래머 단계에서는 당장 공부해야할 내용은 아니지만 언젠가는 해야될 내용이기에 천천히 봐두면 좋다. 나 역시, 실무 프로그래밍을 접한지 얼마되지 않았지만 팀내에 아키텍처 설계하시는 분도 있으며 그분들이 작성한 코드를 이해하기 위해 최소한 단어라도 알아두자는 마음에서 이 책을 접했다.

 

이 책은 '도메인 주도 설계', '엔터프라이즈 애플리케이션 아키텍처 패턴' - 2권의 책을 자주 인용하여 작성하였다. 예전 문헌 코드들은 자바, C++, C#으로 작성되어 있으며 파이썬다운 방식으로 이런 기법들을 구현할 때 참고서가 되었으면 한다는 바램으로 파이썬으로 작성했다고 한다. 개인적으로 '**다운'을 굉장히 싫어한다. 'C++ 스럽지 않다.', '자바는 그렇게 안해' 등등. 아니, 문제 해결을 효율적으로 하기 위한 목표를 가지고 언어의 철학을 들이미는건 뭔 경우지... 개인적인 느낌은 그냥 파이썬으로 아키텍처 패턴을 설명한 책이 없으니 한번 집필해보자가 전부인것 같다.

 

책에서 말하는 핵심 설계 4가지 패턴은 다음과 같다. 1) 저장소 패턴, 2) 서비스 계층 패턴, 3) 작업 단위 패턴, 4) 애그리게이트 패턴. 한마디로 먼저 행동하고 저장에 대한 요구 사항은 해동에 맞춰 정해져야 한다는 것인데, 개념이 확 와닿지는 않는다. 책의 내용은 대략적으로 알겠으나 주니어 단계에서는 아직 벅찬 느낌이 있다. 파이썬으로 아키텍처를 설계할 정도의 사람들이라면 한번쯤은 봐도 괜찮을 것 같다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."