[북리뷰] 엔터프라이즈 애플리케이션 아키텍처패턴

2022-01-22

새로운 팀에서 신규 프로젝트를 작성하면서 애플리케이션의 구조에 대해서 고민하게 되었는데, 좀 더 나은 아키텍처를 위해서 참고할만한 서적을 찾던 중 책장에 사놓고 고이 모셔두었던 이 책을 찾아 읽어보았다.

책 소개

위키북스에서 출판한 서적. 2015년 재출간한 서적이다. 저자는 그 유명한 “마틴 파울러”. 가격은 3만 1천 5백원이고, yes24 평점도 8.5점대로 괜찮은 평을 받고 있다.

Patterns of Enterprise Application Architecture

책을 읽은 이유

2021년 새로운 팀에서 업무를 시작하면서 이왕 새로 시작하는 프로젝트를 잘 해보고 싶은 마음에 아키텍처에 대한 고민을 많이 하게되었다. 그 동안 레거시 코드를 다루다 보니 신경쓰지 못한 것 같아 아키텍처를 어떻게 하면 잘 설계할 수 있을까 하고 생각하게 되었다. 그러던 중에 책장 한켠에 고이 모셔두었던(?) 한 번쯤은 읽어봐야지 하고 생각했던 “엔터프라이즈 애플리케이션 아키텍처 패턴” 책을 읽어보기로 했다. 한동안 패턴, 아키텍터에 대해서 관심 많을 때 사놓은 책인데, 그 유명한 “마틴 파울러"의 책이라 사놓고서는 앞장만 살짝 읽은 이후로 방치하고 있던 책이었다. 이왕 읽어보기로 하는 거, 팀동료들과 북 스터디를 진행해보았다.

  • 마틴 파울러의 책
  • 그 동안 커뮤니티에서 한번 쯤 읽어두면 좋다는 이야기를 들어보았음
  • 아키텍처 그 중에서도 아키텍처 패턴을 엔터프라이즈에서 고민한 책이라는 호감

소감

북 스터디를 겸하고 있어서 한주단위로 챕터별로 읽었다. 대략 약 8주가 안되는 시간이 소모되었다. 페이지가 500페이지가 넘기 때문에 분량이 꽤 많은데, 중간중간 코드가 있어서 그나마 수월했다. 다 읽은 뒤에 소감은 다음과 같다.

장점

  • 모던한 애플리케이션의 아키텍처들이 어떤 흐름을 기반으로 하여 패턴화 되었는지 배경을 이해할 수 있었다.
  • 도메인 로직과, 객체-관계형 데이터베이스의 매핑에 대한 내용이 많이 언급되며 개념의 배경을 이해할 수 있다.

단점

  • 원서가 출간된 시기가 2002년인 만큼, 최신의 애플리케이션 구조와는 맞지 않은 낡은 부분이 많았다. 특히나 XML, XSLT 에 대한 부분은 보면서도 읽히 힘들었던 부분이다.
  • 용어번역은 마음에 들지 않는 부분이 많다. 특히나 패턴이름을 번역하고 다이어그램에 나오는 용어들도 번역해놓아 한참을 들여다 봐야 하는 부분이 많았다.
  • 코드가 많이 나오지만, 현재의 애플리케이션 코드에 빗대면 실용적이라고 보기는 어렵다.

기억에 남는 부분

도메인 로직에 대한 설명을 하면서 도메인 모델을 2가지로 구분했는데 “Simple Domain Model”, “Rich Domain Model” 로 구분한 부분에서 도메인 모델을 설계할 때의 기준점을 생각해볼 수 있었다. 그리고 아키텍처가 꼭 하나를 선택한다고 해서 다른 아키텍처를 포기한다는 것이 아니라고 설명한 부분이 공감이 갔다. 각각의 패턴은 상호 배타적이지 않을 수 있으며, 필요와 복잡도에 따라서 구분하거나 혼용할 수도 있다는 점에 동의했다. 마지막으로 책에서 설명한 패턴들이 결국 최신 프레임워크의 기술들이 구현해놓은 것이라는 알게되는데 특히나 ORM 과 관련해서 JPA 를 더 공부하고 싶게 만드는 동기가 되었다.

한줄 요약

  • “한번쯤은 읽어볼만한 책이지만, 만족스럽지 못한 용어 번역과, 오래된 스타일의 코드는 감수해야한다. 빠르게 읽어야 한다면 4장을 제외한 1부만 읽어보는것이 시간을 줄일 수 있을 것같다”

참고


comments powered by Disqus