-
Head First Design Patterns후기/Book Review 2018. 9. 7. 20:50728x90반응형
목차
- 디자인 패턴의 세계에 오신 것을 환영합니다: 디자인 패턴 소개
- 객체들에게 연락망을 돌립시다: 옵저버 패턴
- 객체 꾸미기: 데코레이터 패턴
- 객체지향 빵 굽기: 팩토리 패턴
- 세상에서 단 하나뿐인 특별한 객체: 싱글턴 패턴
- 호출 캡슐화: 커맨드 패턴
- 적응시키기: 어댑터 패턴과 퍼사드 패턴
- 알고리즘 캡슐화: 템플릿 메소드 패턴
- 잘 관리된 컬렉션: 이터레이터와 컴포지트 패턴
- 객체의 상태: 스테이트 패턴
- 객체 접근 제어: 프록시 패턴
- 패턴들로 이루어진 패턴: 컴파운드 패턴
- 실전에서의 디자인 패턴: 패턴과 함께하는 행복한 삶
- 부록: 기타 패턴
- 브리지 패턴
- 빌더 패턴
- 역할 사슬 패턴
- 플라이웨이트 패턴
- 인터프리터 패턴
- 미디에이터 패턴
- 메멘토 패턴
- 프로토타입 패턴
- 비지터 패턴
헤드퍼스트 특유의 구성(좋게 말하면 스토리텔링, 나쁘게 말하면 정신사나움) 때문에 고민했지만 GoF 디자인패턴보다 쉽고 재밌어서 강추한다는 말이 많아서 선택했다. 디자인패턴 한 번쯤은 짚고 정리하고 구분할 정도는 되야 겠다 싶은 생각이 들었다. 그래야 코드로 이야기하고 패턴으로 이야기 하기가 쉬워 질 것 같다.
책의 내용은 정말 알차게 구성이 되어 있다. 챕터간 이어지는 챕터도 있고 독립적으로 이루어진 챕터들도 있다. 챕터에서 특정 상황을 가정하고 그 상황을 해결하기 위해 코드를 점진적으로 발전시켜 나가면서 패턴을 적용해 보는 방식이다. 이해를 돕기 위한 상황극과 인터뷰 등이 있어서 지루하지 않게 책을 읽어 나갈 수 있다. 특히 요새 많이 사용하는 Rx와 관련하여 옵저버 패턴이 쓰인다고 하니 관련해서도 도움이 될 듯 하다. 또한 롬복에서 @Builder(얼마전에 처음 봤다)에 사용되는 빌더 패턴도 도움이 된다. 그 외 스프링에 적용된 수 많은 패턴들이 어떤 것이 어떻게 사용되었는지 앞으로 조금 더 이해하기 쉬울 것 같다.
사실 객체지향 디자인 설계 패턴(OODP) 전공수업 때 패턴에 대해 배우긴 했는데, 그 때는 별로 와닿지도 않았고 제대로 이해도 못했던 것 같다. 지금에야 조금 이해가 되고 어떨 때 어떤 패턴을 쓰면 되겠구나 알게 되었다. 자바와 스프링을 사용하여 개발은 하지만 그게 좋은 설계였다고는 말하지 못할 것 같다. 유지보수와 재사용성, 가독성이 뛰어난 견고한 코드를 위해 항상 노력하고 연구해야 하지만 어느정도 되는 대로, 돌아가게끔 작업을 하지 않았나 반성한다. 그렇다고 이제부터 모든 걸 패턴에 끼워맞춰서 개발할 생각도 없고 필요도 없다. 어차피 답은 없다. 상황에 따라 필요한 대로 가져다 쓰고 변형하고 적용하여 좋은 코드를 만들면 되는 것이다.
Head First Design Patterns: 스토리가 있는 패턴 학습법, 한빛미디어(에릭 프리먼 외 3인)
반응형'후기 > Book Review' 카테고리의 다른 글
Refactoring (0) 2018.12.08 이것이 자바다 (0) 2018.11.10 모두의 네트워크 (2) 2018.08.16 켄트 벡의 구현패턴 (0) 2018.08.08 CODE (0) 2018.07.23