< GoF 의 디자인 패턴 > 을 읽고...
책을 읽고 나서 글쓰기 목록에 추가해 둔지 한참이 지났다. 써야지 써야지 하다가 귀차니즘에 빠져 쓰지 못하고 있다가 이제야 그나마 쓴다. GoF 의 디자인 패턴 에리히 감마, 리처드 헬름, 랄프 존슨, 존 블리시데스 지음, 김정아 옮김, 프로텍미디어 출판사 책 이름을 보면서 처음 든 의문은 "GoF" 가 무슨 뜻일까? 였다. 지은이 이름인 줄 알았으나 지은이들 중에 GoF 라는 이름은 없었다. 그래서 검색을 해보니, GoF 는 "Gang of Four(사인방)" 로 네 명의 지은이를 뜻한다고 한다. 이제 책 내용을 살펴 보자. 이 책은 OOP(Object Oriented Programming) 에 많이 쓰이는 코드들을 패턴화해서 모아 놓은 책이다. 1 장에서는 전체적인 개념을 설명하고 있고, 2 장에서는 실제 사례를 살펴본다. 그리고 3 장부터는 패턴들을 비슷한 부류로 묶어 나열하고 있다. 예제 코드들은 스몰토크와 C++ 로 설명되어 있다. 책이 처음 발간된지 오래되었고, 현장에서 많이 쓰이는 것을 모아 놓았기 때문에, 프로그래밍하면서 익히 보아왔던 패턴들을 볼 수도 있을 것이다. C++ 의 STL 을 사용해 봤다면 익숙한 패턴들을 확인할 수 있다. 반복자 패턴으로 불리는 Iterator 가 대표적이다. Qt 나 자바 등의 사용자들도 마찬가지 경험을 할 것이다. 다양한 서브 시스템을 지원하는 프로젝트에 참여해 본 경험이 있다면 추상 팩토리 패턴 등을 많이 접해 보았을 것이다. 그리고 그 유명한 단일체(Singletone) 패턴도 소개되어 있다. 이 책은 한 번에 보는 책이 아니다. 책에도 쓰여 있지만, 한 번에 다 이해하려고 하기 보다는 옆에 두고 그 때 그 때 살펴보는 것이 더 좋다. 사실 책에 있는 설명과 샘플 코드만으로는 이해가 되지 않는 패턴들도 상당수 있었다. 하지만 언젠가는 이해하고 쓸 때가 있을 거라고 생각하고 넘어갔다. 모르겠다고 좌절하지는 말자. ^^ 이 책...