이도서는 디자인 패턴이란 단어앞에 Elemental 이란 단어가 붙어 있어서 디자인 패턴의 근본을 설명하고 그 원리를 좀더 논하는 책일 것이라 생각했다.
결론을 내리자면, 책 표지의 " 디자인 패턴은 기술인가, 과학인가?" 이 주제를 다루는 다루는 도서같다.
외국 번역서라는 특징과 외국인의 정서가 녹아있는 프로그래머가 아닌 사람한테는 어렵게 느껴지는 도서였다.
과연 프로그래머라도 이해가 용이할까 라는 생각이 들었다. 도리어 자연 과학서를 읽고있는 느낌....
패턴을 원소주기율표처럼 요소로 분해하고 조합하며, 디자인패턴 인스턴스 표현법, EDP 활용법을 논하고 있다.
즉, 신종 EDP를 소개하는 개론서이자 연구주제를 알려주는 책이기도 했다.
개인적으로는 내용이 어려웠다. 일단 해석서라는 특징으로 용어의 제목과 설명이 와닿지 않았다.
어디서 부터 어떻게 책의 느낌을 논할지는 모르겠지만, 책이 전달하고자 하는 내용을 정리하면,
- 모든 패턴이 원소 패턴으로 구성되어 있다고 한다. 예를 들어, "팩토리 메서드"패턴은 네 EDPS 로 분해 될 수있다."Create Object "를""Fulfill Method", "와""Fulfill Method", "Retrieve". 그리고 UML은 네 개의 하위 패턴과 큰 패턴의 시각화에 도움이 된다는 점이다.
- 다양한 방법으로 주어진 특정 패턴을 설명하고 있고, C, C++, Java, Objective-C 등의 다양한 언어로 패턴 구현법도 명시했다.
- 그리고 PIN을 통해 각 디자인 패턴을 더 간략히 표현할수 있다고 설명하고 있다.
- 디자인 패턴 (EDPS)은 객체 지향 프로그래밍의 기본 개념의 카탈로그로서, Create Object, Retrieve, nheritance, Abstract Interface, Redirection, Conglomeration, Recursion, Revert Method, Extend Method,Delegated Conglomeration, Redirected Recursion, Trusted Delegation, Trusted Redirection, Deputized Delegation, Deputized Redirection, Fulfill Method, Retrieve New, Retrieve Shared, Objectifier, Object Recursion 등을 설명한다. 각 카탈로그들을 PIN으로 표현하고, GOF 패턴에 매핑하여 설명하고 있다.
전문 지식이 없어서, 각각에 대한 설명을 쉽게 이해되지는 않았다.(해석서의 제한이기도 한것 같다.)
이도서를 연구서라고 느낀것은 EDP의 4개 요소(Conglomeration, Recursion, Delegation, Redirection)을 "객체유사도", "타입유사도", "메서도 유사도"의 3차원 공간에 다름과 유사함으로 구분하여 설명한것이 흥미로웠다.
책의 후반부에 GOF의 패턴들을 이 원리로서, PIN으로 표현하여 설명한 부분에서 이해가 조금씩 가기 시작했다.
전체적으로 해석판의 용어 정리와 디자인패턴 원리 설명이 전반부에 쉽게 풀어졌다며, 후반부에 좀더 재미있게 느껴졌을 것이고, 좀더 분석적인 리뷰를 적을수 있을것 같은데, 아쉬운 생각이 든다.
그리고 개인적으로 디자인패턴책을 다시 펴보게 되었다. 다음 개정판이 나오게 된다면, 다시한번 접해보고 싶은 생각도 든다.