| 이 책은 디자인패턴과 보다 효과적인 객체지향 프로그래밍에 관심이 있는 개발자들을 위한다. 책을 읽기위해서는 자바나 C++과 같은 객체지향 언어에 어느정도 익숙해져야 한다. 디자인 패턴 자체가 보다 재사용가능하고 유지보수가 쉬운 객체지향 프로그래밍 구현을 목적으로 하고 있기 때문에 기본적인 이해는 필수적이다.
"디자인패턴(Design Pattern)"이라는 것을 대중적으로 크게 알린 사람이 이 책을 쓴 GoF(Gang of Four)이다. Erich Gamma, Richard Helm, John Vissides, Ralph Johnson이렇게 4사람이 총 23개의 패턴을 정리하고 소개했다. 대부분의 디자인패턴책에서 이 GoF패턴을 소개하며, 패턴분류에 대해서도 이들이 정리한 분류체계를 이용한다.
MS는 .NET프레임워크 개발과정에서 GoF 책에 소개된 패턴을 직접 적용하거나 나름대로 변형하여 적용하였다고 밝혔고, 래쇼날 사의 XDE는 이 책에 소개된 23개의 모든 패턴을 소프트웨어 개발 과정에서 쉽게 적용할 수 있도록 연구 지원하고 있다.
책은 크게 두 가지 주요 부분으로 나뉜다. 첫번째 부분은 디자인 패턴이 무엇인지와 디자인 패턴이 어떻게 객체지향 소프트웨어 설계에 도움을 주는지를 설명한다. 디자인 패턴을 어떻게 실생활에서 응용할 수 있는지를 사례 연구를 들어 설명한다. 그리고 두번째 부분은 실제적인 디자인 패턴의 카달로그이다. 카달로그는 패턴을 세가지 종류 - 생성, 구조, 행위 - 로 분류하여 여러 방법으로 이용할 수 있다. |