.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다...만 진심이 담겨있습니다.허위 사실 유포는 😎일절 없음.
나의 첫 헤드퍼스트 시리즈. 게다가 '헤드퍼스트 디자인패턴 개정판'은 초판 이후 16년만에 개정이 되어서 나왔다. 그래서 뭔가를 기대했느냐. 그건 아니다. 평소에 디자인패턴이라고 하면 안드로이드 개발할 때 많이 적용했던 MVP, MVVM를 많이 떠올렸고, 그게 아니라면 고작해야 옵저버 패턴, 싱글톤 패턴 정도가 전부였다. 디자인패턴이 뭘 정의하는지도 잘 몰랐다. 혹시 이 글을 읽는 분도 그러한가? 그렇다면 이 서적은 당신에게도 나에게도 필요한 책이다. 당신과 나와 같은 입장이 뭘까?
- 입으로만 디자인 패턴을 얘기했지만 디자인 패턴의 정의조차 몰랐던 사람
- 디자인 패턴보다 프레임워크나 라이브러리에 의존해 개발했던 사람
- 디자인 패턴을 공부하고 싶었지만 너무 어려워서 엄두를 못냈던 사람
디자인 패턴은 요술 방망이가 아니다. 라이브러리처럼 내 코드에 적용할 수 있는 도구처럼 쓸 수 없다는 말이다. 이 서적의 65페이지에는 이런 내용이 나온다.
디자인 패턴이 코드 속으로 바로 들어가는 것은 아닙니다. 디자인 패턴은 우선 여러분의 머릿속에 들어갑니다. 일단 패턴을 완전히 익혀 두면 어떠너 코드가 유연성 없이 엉망으로 꼬여 있는 스파게티 코드라는 사실을 금방 깨달을 수 있으며 그 코드를 수정할 때 패턴을 적용해서 코드를 개선할 수 있습니다.
객체지향 디자인 원칙과 같은 여러가지 원칙을 지키면서 신규 개발부터 유지보수까지 유연하게 대처할 수 있게 구성을 가이드해 주는 것이 디자인 패턴이 아닐까 생각해보았다. 그럼 여기에 등장하는 디자인 패턴은 무엇이 있을까?
- 전략 패턴
- 뒤에 나올 디자인 패턴을 공부하기 전에 이해해야 할 기본적인 패턴
- 옵저버 패턴
- 이벤트 버스나 카프카 등을 이용해본 분이라면 이해하기 더 편하다
- 데코레이터 패턴
- 스프링을 공부해 본 분이라면 스프링을 한번 더 이해할 수 있는 기회
- 팩토리 패턴
- 데코페이터 패턴처럼 스프링의 패턴 구조 중 하나를 이해할 수 있다
- 싱글턴 패턴
- 가장 익숙한 동시에 가장 유의해서 사용해야할 패턴
- 커맨드 패턴
- 어댑터 패턴과 퍼사드 패턴
- 안드로이드 개발자에게 익숙한 어댑터 패턴을 이해할 수 있는 기회
- 템플릿 메소드 패턴
- 반복자 패턴과 컴포지트 패턴
- 상태 패턴
- 프록시 패턴
- 접근 제어를 하는 경우에 빠지지 않고 등장하는 프록시 패턴
- 복합 패턴
- 흔히 얘기하는 MVC, MVP, MVVM를 발전 과정으로 이해할 수 있다
- 실전 디자인 패턴
- 기타 패턴
만약 시간이 바쁘다면 부가 설명이 있는 내용을 참고해서 몇가지만 골라서 읽는 방법도 있다. 예를 들면 아래와 같다.
- 공통적으로 읽어야 할 필수 패턴
- 전략 패턴, 옵저버 패턴, 싱글턴 패턴
- 자바 혹은 스프링 개발자에게 도움이 될 패턴
- 데코레이터 패턴
- 안드로이드 개발자에게 도움이 될 패턴
- 어댑터 패턴과 퍼사드 패턴, 복합 패턴
- 외부 통신 등의 접근 제어를 할 때 도움이 될 패턴
- 프록시 패턴
이 책의 매력은 단순히 실무에 도움이 된다라는 부분에만 있지 않다. 챕터 0을 읽어보면 헤드퍼스트가 왜 스테디셀러인지 알 수 있다. 디자인패턴을 이해하기 위해 서적 내 얼마나 많은 장치가 있고 어떤 절차로 이해할 수 있는지 알려준다. 그러니 챕터 0에 디자인패턴 학습 시작이 아니라는 이유로 넘기지 말고 반드시 읽고 책에서 권장하는 방식을 따라가다보면 다른 서적을 읽을 때보다 훨씬 재밌게 글을 흡수할 수 있을 것이다. 중간중간에 불쑥 튀어 나오는 농담, 수많은 일러스트, 상황극에 퀴즈까지. 만약 새로운 분야를 학습한다면 앞으로는 헤드퍼스트 시리즈에 그 분야가 있는지도 살펴볼 것이다.
.
'Study' 카테고리의 다른 글
타입스크립트를 씹고 뜯고 맛보고 (타입스크립트 교과서) (0) | 2023.11.29 |
---|---|
지금까지의 알고리즘은 애들 장난이었다 (똑똑한 코드 작성을 위한 실전 알고리즘) (0) | 2022.11.27 |
피, 땀, 눈물없이 할 수 없는 게임 이야기 (피, 땀, 리셋) (0) | 2022.08.28 |
이제는 기본서도 최신 정보가 업데이트 되어야 할 때 (이것이 안드로이드다. 개정 3판) (0) | 2022.07.24 |
[구글 엔지니어는 이렇게 일한다더라] 1부, 문화 (0) | 2022.05.29 |
Comment