한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다
개정판이 나왔다고 하길래 예전 헤드퍼스트 디자인패턴은 언제 나왔는지 찾아보니 와우 2005년도에 책이 나왔었네요.
헤드퍼스트 시리즈를 처음 접했을때 꽤 놀라왔습니다. 기술적인 책도 이렇게 쉽고 재밌게 읽힐 수 있구나 하는.
만화책을 보는 듯한 큼지막한 일러스트에 대화형의 말풍선 문장들, 개인 노트에 포스트잇을 추가로 붙여놓은 거 같은 설명등으로
워드문서를 읽는게 아닌 파워포인트 문서를 보는거 같은 느낌이 듭니다.
이미 수많은 디자인 패턴 책, 온 오프라인 강좌등이 있습니다. 구현코드까지 올라온 것도 많아서 프로그래밍을 좀 해본 사람들은 쉽게 가져다가 사용할 수 있습니다. 하지만 설명의 방향이 일방적이죠. 어떤 문제를 해결하기 위해 그런 패턴이 만들어졌고 다른 비슷한 패턴들과의 차이가 무엇일지 충분히 이해하지 못했다면 다음에 비슷한 문제가 생겨도 스스로 고민해서 해결하기보다 검색해서 붙여넣기할 가능성이 높습니다.
이 책은 사용자가 해결하고픈 고민이 생겼을때 (시니어개발자나 그 내용을 잘 아는 )동료를 찾아가 바로 옆자리에서 1:1로 페어프로그래밍하듯 대화하면서 문제를 해결해 나가는 식으로 구성되어 있습니다.
사용자가 고민할때 독자도 그 문제를 어떻게 해결할 수 있을지 같이 고민합니다.
사용자는 이제 동료에게 자기가 생각하는 내용과 궁금한 내용들을 동료에게 얘기합니다. 기존 코드가 있고 동료가 개선사항을 얘기하면 사용자는 고민하고 추가 질문을 합니다. 그러면 또 동료가 그 질문에 대답을 해줍니다.
이 과정은 체크박스 퀴즈, 크로스워드퀴즈 줄긋기 퀴즈, 주관식 문제등을 통해 독자도 같이 고민하면서 내용을 머릿속에 잘 기억할 수 있도록 해주고 있습니다.
하나의 챕터가 끝날때마다 해당챕터의 글과 다이어그램등으로 내용을 정리해주고 있습니다. 뒤로 갈수록 다른 패턴들도 학습하기 때문에 비슷해 보이는데 차이를 아직 잘 모르는 패턴들이 나올 수 있습니다. 각 패턴들을 의인화시켜서 대화식으로 구성한 후 (패턴)본인의 성격을 확실하게 드러내주고, 다른 패턴들과의 논쟁을 통해 차이점을 잘 부각시켜주고 있습니다.
예전에 나왔던 책과 구성이나 내용은 크게 달라지지 않았다고 느꼈지만
초보 개발자든 경력이 오래된 개발자이든 각자의 입장에서 다시금 디자인패턴에 대해 정리하고 익힐 수 있는 좋은 책인 거 같습니다.