conque***
2022-10-02

유지관리가 편리한 객체지향 소프트웨어 만들기! “『헤드 퍼스트 디자인 패턴(개정판)』 한 권이면 충분합니다!”
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다...만진심이 담겨있습니다.허위 사실 유포는 일절 없음.
나의 첫 헤드퍼스트 시리즈. 게다가 '헤드퍼스트 디자인패턴 개정판'은 초판 이후 16년만에 개정이 되어서 나왔다. 그래서 뭔가를 기대했느냐. 그건 아니다. 평소에 디자인패턴이라고 하면 안드로이드 개발할 때 많이 적용했던 MVP, MVVM를 많이 떠올렸고, 그게 아니라면 고작해야 옵저버 패턴, 싱글톤 패턴 정도가 전부였다. 디자인패턴이 뭘 정의하는지도 잘 몰랐다. 혹시 이 글을 읽는 분도 그러한가? 그렇다면 이 서적은 당신에게도 나에게도 필요한 책이다. 당신과 나와 같은 입장이 뭘까?
디자인 패턴은 요술 방망이가 아니다. 라이브러리처럼 내 코드에 적용할 수 있는 도구처럼 쓸 수 없다는 말이다. 이 서적의 65페이지에는 이런 내용이 나온다.
디자인 패턴이 코드 속으로 바로 들어가는 것은 아닙니다. 디자인 패턴은 우선 여러분의 머릿속에 들어갑니다. 일단 패턴을 완전히 익혀 두면 어떠너 코드가 유연성 없이 엉망으로 꼬여 있는 스파게티 코드라는 사실을 금방 깨달을 수 있으며 그 코드를 수정할 때 패턴을 적용해서 코드를 개선할 수 있습니다.
객체지향 디자인 원칙과 같은 여러가지 원칙을 지키면서 신규 개발부터 유지보수까지 유연하게 대처할 수 있게 구성을 가이드해 주는 것이 디자인 패턴이 아닐까 생각해보았다. 그럼 여기에 등장하는 디자인 패턴은 무엇이 있을까?
만약 시간이 바쁘다면 부가 설명이 있는 내용을 참고해서 몇가지만 골라서 읽는 방법도 있다. 예를 들면 아래와 같다.
이 책의 매력은 단순히 실무에 도움이 된다라는 부분에만 있지 않다. 챕터 0을 읽어보면 헤드퍼스트가 왜 스테디셀러인지 알 수 있다. 디자인패턴을 이해하기 위해 서적 내 얼마나 많은 장치가 있고 어떤 절차로 이해할 수 있는지 알려준다. 그러니 챕터 0에 디자인패턴 학습 시작이 아니라는 이유로 넘기지 말고 반드시 읽고 책에서 권장하는 방식을 따라가다보면 다른 서적을 읽을 때보다 훨씬 재밌게 글을 흡수할 수 있을 것이다. 중간중간에 불쑥 튀어 나오는 농담, 수많은 일러스트, 상황극에 퀴즈까지. 만약 새로운 분야를 학습한다면 앞으로는 헤드퍼스트 시리즈에 그 분야가 있는지도 살펴볼 것이다.