Table of Contents
새로운 팀에서 신규 프로젝트를 작성하면서 애플리케이션의 구조에 대해서 고민하게 되었는데, 좀 더 나은 아키텍처를 위해서 참고할만한 서적을 찾던 중 책장에 사놓고 고이 모셔두었던 이 책을 찾아 읽어보았다.
책 소개
위키북스에서 출판한 서적. 2015년 재출간한 서적이다. 저자는 그 유명한 “마틴 파울러”. 가격은 3만 1천 5백원이고, yes24 평점도 8.5점대로 괜찮은 평을 받고 있다.
책을 읽은 이유
2021년 새로운 팀에서 업무를 시작하면서 이왕 새로 시작하는 프로젝트를 잘 해보고 싶은 마음에 아키텍처에 대한 고민을 많이 하게되었다. 그 동안 레거시 코드를 다루다 보니 신경쓰지 못한 것 같아 아키텍처를 어떻게 하면 잘 설계할 수 있을까 하고 생각하게 되었다. 그러던 중에 책장 한켠에 고이 모셔두었던(?) 한 번쯤은 읽어봐야지 하고 생각했던 “엔터프라이즈 애플리케이션 아키텍처 패턴” 책을 읽어보기로 했다. 한동안 패턴, 아키텍터에 대해서 관심 많을 때 사놓은 책인데, 그 유명한 “마틴 파울러"의 책이라 사놓고서는 앞장만 살짝 읽은 이후로 방치하고 있던 책이었다. 이왕 읽어보기로 하는 거, 팀동료들과 북 스터디를 진행해보았다.
- 마틴 파울러의 책
- 그 동안 커뮤니티에서 한번 쯤 읽어두면 좋다는 이야기를 들어보았음
- 아키텍처 그 중에서도 아키텍처 패턴을 엔터프라이즈에서 고민한 책이라는 호감
소감
북 스터디를 겸하고 있어서 한주단위로 챕터별로 읽었다. 대략 약 8주가 안되는 시간이 소모되었다. 페이지가 500페이지가 넘기 때문에 분량이 꽤 많은데, 중간중간 코드가 있어서 그나마 수월했다. 다 읽은 뒤에 소감은 다음과 같다.
장점
- 모던한 애플리케이션의 아키텍처들이 어떤 흐름을 기반으로 하여 패턴화 되었는지 배경을 이해할 수 있었다.
- 도메인 로직과, 객체-관계형 데이터베이스의 매핑에 대한 내용이 많이 언급되며 개념의 배경을 이해할 수 있다.
단점
- 원서가 출간된 시기가 2002년인 만큼, 최신의 애플리케이션 구조와는 맞지 않은 낡은 부분이 많았다. 특히나 XML, XSLT 에 대한 부분은 보면서도 읽기 힘들었던 부분이다.
- 용어번역은 마음에 들지 않는 부분이 많다. 특히나 패턴이름을 번역하고 다이어그램에 나오는 용어들도 번역해놓아 한참을 들여다 봐야 하는 부분이 많았다.
- 코드가 많이 나오지만, 현재의 애플리케이션 코드에 빗대면 실용적이라고 보기는 어렵다.
기억에 남는 부분
도메인 로직에 대한 설명을 하면서 도메인 모델을 2가지로 구분했는데 “Simple Domain Model”, “Rich Domain Model” 로 구분한 부분에서 도메인 모델을 설계할 때의 기준점을 생각해볼 수 있었다. 그리고 아키텍처가 꼭 하나를 선택한다고 해서 다른 아키텍처를 포기한다는 것이 아니라고 설명한 부분이 공감이 갔다. 각각의 패턴은 상호 배타적이지 않을 수 있으며, 필요와 복잡도에 따라서 구분하거나 혼용할 수도 있다는 점에 동의했다. 마지막으로 책에서 설명한 패턴들이 결국 최신 프레임워크의 기술들이 구현해놓은 것이라는 알게되는데 특히나 ORM 과 관련해서 JPA 를 더 공부하고 싶게 만드는 동기가 되었다.
한줄 요약
- “한번쯤은 읽어볼만한 책이지만, 만족스럽지 못한 용어 번역과, 오래된 스타일의 코드는 감수해야한다. 빠르게 읽어야 한다면 4장을 제외한 1부만 읽어보는것이 시간을 줄일 수 있을 것같다”
참고
- yes24 링크 : http://www.yes24.com/Product/Goods/22384677
comments powered by Disqus