< GoF 의 디자인 패턴 > 을 읽고...

책을 읽고 나서 글쓰기 목록에 추가해 둔지 한참이 지났다. 써야지 써야지 하다가 귀차니즘에 빠져 쓰지 못하고 있다가 이제야 그나마 쓴다.

GoF 의 디자인 패턴

에리히 감마, 리처드 헬름, 랄프 존슨, 존 블리시데스 지음,
김정아 옮김, 프로텍미디어 출판사

책 이름을 보면서 처음 든 의문은 "GoF" 가 무슨 뜻일까? 였다. 지은이 이름인 줄 알았으나 지은이들 중에 GoF 라는 이름은 없었다. 그래서 검색을 해보니, GoF 는 "Gang of Four(사인방)" 로 네 명의 지은이를 뜻한다고 한다.

이제 책 내용을 살펴 보자.

이 책은 OOP(Object Oriented Programming) 에 많이 쓰이는 코드들을 패턴화해서 모아 놓은 책이다.

1 장에서는 전체적인 개념을 설명하고 있고, 2 장에서는 실제 사례를 살펴본다. 그리고 3 장부터는 패턴들을 비슷한 부류로 묶어 나열하고 있다. 예제 코드들은 스몰토크와 C++ 로 설명되어 있다.

책이 처음 발간된지 오래되었고, 현장에서 많이 쓰이는 것을 모아 놓았기 때문에, 프로그래밍하면서 익히 보아왔던 패턴들을 볼 수도 있을 것이다.

C++ 의 STL 을 사용해 봤다면 익숙한 패턴들을 확인할 수 있다. 반복자 패턴으로 불리는 Iterator 가 대표적이다. Qt 나 자바 등의 사용자들도 마찬가지 경험을 할 것이다.

다양한 서브 시스템을 지원하는 프로젝트에 참여해 본 경험이 있다면 추상 팩토리 패턴 등을 많이 접해 보았을 것이다.

그리고 그 유명한 단일체(Singletone) 패턴도 소개되어 있다.

이 책은 한 번에 보는 책이 아니다. 책에도 쓰여 있지만, 한 번에 다 이해하려고 하기 보다는 옆에 두고 그 때 그 때 살펴보는 것이 더 좋다.

사실 책에 있는 설명과 샘플 코드만으로는 이해가 되지 않는 패턴들도 상당수 있었다. 하지만 언젠가는 이해하고 쓸 때가 있을 거라고 생각하고 넘어갔다. 모르겠다고 좌절하지는 말자. ^^

이 책을 읽으면서 특히 인상 깊었던 부분은 패턴의 예제에서 OS/2 PM(Presentation Manager) 에 대한 코드들도 보인다는 것이다. OS/2 사용자로서 꽤나 놀랐다. 이 책이 쓰여질 당시만 해도 OS/2 가 나름 영향력이 있었구나 싶었다.

중구난방 내용을 소개했지만, OOP 를 공부하고 있다면 반드시 한 권 구비하고 있어야 하는 필독서 중의 필독서이다. 하지만 너무 큰 환상은 가지지 말자.

댓글

이 블로그의 인기 게시물

토렌트: < 왕좌의 게임 > 시즌 1 ~ 시즌 8 완결편 마그넷

토렌트: < 스타워즈 > Ep.1 ~ Ep.6 마그넷

토렌트: NGC < 코스모스 > 우리말 더빙 전편(1편~13편) 마그넷