들어가기

무언가를 가능한 쉽게 익히려면 둘 중의 한가지가 필요하다.

  • 무언가를 필요로 하는 컨텍스트를 직관적으로 파악할 수 있을 만큼 적절한 예제
  • 무언가를 쓰기 전과 쓴 후를 비교해서 이해할 수 있는 설명

사실 어떤 것이든 직관적으로 파악할 수 있는 것이 가장 좋지만, 다루는 내용 자체가 원천적으로 복잡한 경우에는 직관적으로 알 수 있게 해주는 것이 현실적으로는 쉽지 않다.

게다가 같은 예제라도 누구에게는 직관적일 수 있지만 다른 누구에게는 직관적이지 않을 수도 있다.

이 책은 디자인 패턴의 적용 전과 후를 비교하는 설명을 친절하게 풀어주는 방법을 택해서 가능한 많은 사람들이 디자인 패턴을 좀더 쉽게 이해할 수 있게 해준다.

이래서 좋다

  • 객체 지향 원리를 적용하지 않은 코드에서 출발해서 변경 사항이 생기면 코드의 어느 부분이 변경되는지 보여주므로써 문제점을 대단히 구체적으로 인식할 수 있게 해준다.
  • 디자인 패턴을 적용하는 과정도 1회에 그치지 않고 단계를 밟아가며 보여주므로 디자인 패턴 적용 전의 문제점과 적용 후의 좋은 점을 속속들이 이해할 수 있게 해준다.
  • 객체의 관계(연관, 의존, 집약/합성, 일반화/실체화)과 UML 다이어그램을 맛깔나게 훑어준다.
  • 복합적인 사고를 요구하는 좋은 연습문제가 많다.

이래서 아쉽다

  • 큰 틀에서는 훌륭한 전개 구조를 가졌지만, 꼼꼼하게 보면 아마도 실수이겠지만 틀린 곳이 군데군데 있다.
  • 자주 쓰이는 패턴 10개만을 다루고 있다. 이런 전개로 GoF의 23개 패턴을 모두 다뤄줬다면 얼마나 좋았을까.

나가기

운 좋게도 최근에 이 책을 포함해서 훌륭한 객체 지향 책을 두 권이나 보게 되었다. 나머지 하나는 객체 지향의 사실과 오해다.

다음과 같이 책을 보는 것도 객체 지향을 이해하는 좋은 코스가 될 수 있을 것 같다.


크리에이티브 커먼즈 라이선스HomoEfficio가 작성한 이 저작물은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.