GoF의 디자인 패턴 1장 - 2장
디자인 패턴 입문은 헤드퍼스트 디자인패턴
책으로 했었다. 디패를 아예 처음 접하는 것도 아니었기에, 그냥 GoF가 디패의 바이블
이라는 말을 듣고 별 생각없이 이걸 보는게 좋다고 생각했다.
이 책을 구입하려는 사람들은 이 책이 94년도에 첫 출간 되었으며 c++과 스몰토크로 쓰여져 있다는 것을 확인하고, 1장 서론을 한번 읽어본 뒤 구매를 했으면 좋겠다.
이 책의 원서가 어떤지는 모르겠지만 번역 상태가 썩 좋은편은 아니라고 생각한다. 사람마다 선호하는 문체가 다르긴 하지만, 솔직히 이것보다 더 읽기 쉽고 설명이 잘 되어있는 한국어로 쓰여진 디패책들이 있다. 헤드퍼스트도 꽤 옛날 책이긴 하지만 GoF책보다는 쉽게 읽힌다. 자바 기초 문법이 익숙하면 무리없이 읽을 수 있을 정도니까.
전에 봤던 클린코드 책을 읽으면서도 ‘자바 개발자가 아닌 사람이 이 책을 읽으면 힘들겠다’라는 생각을 했었다. 그 감정을 이 책을 보면서 느끼고 있다. 씨쁠도 스몰토크도 쓰지않는데 읽기 버거운 문체와 와닿지 않는 예제까지 흠…
나는 책을 볼 때 꽤 꼼꼼하게 보는 편이라고 생각하는데, 이 책은 그렇게 보는것을 포기했다. 디패의 바이블이라고 하니까 끝까지 읽기는 할 것인데, 이 책에 있는 문장과 코드 하나하나 꼼꼼하게 볼 자신은 없다.
이 책 역시 학교 동아리 스터디 용으로 읽는 책이며, 주마다 패턴 3개 정도 볼 것 같으니까 2-3달 정도 걸릴 것 같다.
1장 서론 - 2장 사례 연구: 문서 편집기 설계
1장과 2장이 말하는 내용은 앞으로 설명할 패턴들은 총 23가지가 있는데, 패턴이 왜 필요한지 간단히 소개하자면 이렇다~
이므로 그냥 완전히 안받아들여져도 넘겼다. 최근에 본 책중에서 서론에서 진을 엄청 뺀 책은 오랜만이었다.
2장에는 총 8가지의 패턴이 어떤 상황에서 쓰여지는지 쭉 설명되어있다. 다른 분들은 어떤지 모르겠는데, 애매한 번역은 둘째치고 나는 2장 읽는것 자체가 힘들었다. 그냥 ‘음..어..그래..어어..’ 하고 쭉쭉 넘겼다.
- Composite Pattern
단일객체와 복합객체를 구분없이 다루게 해줌 - Strategy Pattern
행동(알고리즘)을 캡슐화 해서 런타임에 객체의 행동을 변경할 수 있음 - Decorator Pattern
객체 결합으로 기능 확장과 조합을 설계하기에 용이 - Abstract Factory Pattern
유사한 객체들의 생성 방식을 일관화 해놓음 - Bridge Pattern
추상과 구현을 분리 - Command Pattern
명령이 발동되는 것과 그것을 수행하는 것을 분리 - Iterator Pattern
반복되는 행동을 추상화 함. 순회 목적으로 자주쓰는 iterator가 대표 예 - Visitor Pattern
데이터 구조와 연산을 분리. 구조 변경 없이 연산 추가가 용이함