독후감/디자인패턴

헤드퍼스트 디자인패턴

iKay 2022. 8. 22. 00:21
반응형

얼마 전 지인에게 「헤드퍼스트 디자인페턴」이라는 책을 추천받아 읽게 되어 책을 읽고 난 후 느낀 점을 남기려 한다. 평점은 4/5점을 주고 싶다. 

 

http://www.yes24.com/Product/Goods/108192370

 

헤드 퍼스트 디자인 패턴 - YES24

유지관리가 편리한 객체지향 소프트웨어 만들기!“『헤드 퍼스트 디자인 패턴(개정판)』 한 권이면 충분하다.이유 1. 흥미로운 이야기와 재치 넘치는 구성이 담긴 〈헤드 퍼스트〉 시리즈! 하나

www.yes24.com

 

코드를 자주 읽고 쓰는 사람이라면 디자인 패턴을 학습하는 것이 필요하다고 생각한다. 왜냐하면 다른 사람의 코드를 더 쉽게 읽을 수 있어 더 빠르게 파악할 수 있다고 생각하기 때문이다. 좋은 코드를 작성하기 위해서는 다른 사람의 코드를 오해 없이 이해하는 것이 우선이다. 이런 이유로 스스로도 평소에 틈틈이 이런 부류의 책을 시간을 내서 읽으려고 노력한다. 그리고 좋은 예제 소스코드(주로 유명한 오픈소스)로 부터 내가 아는 패턴을 발견했을 때 즐거움을 느끼곤 한다.

 

디자인 패턴의 고전은 그 유명한 「GoF의 디자인 패턴」 일 것이다. 이 책도 한 번 읽은 적은 있는데 워낙 오래전이고 이해를 못 했던 부분이 많아 책을 구해서 다시 읽어 보는 것도 좋을 것 같다. 그런데 한글 번역판 내용이 좋지 못하다는 것을 많이 들어서 한글책을 살지 말지 계속 고민이 된다. 

http://www.yes24.com/Product/Goods/17525598

 

GoF의 디자인 패턴 - YES24

이 책은 디자인 패턴을 다룬 이론서로 디자인 패턴의 기초적이고 전반적인 내용을 학습할 수 있다.

www.yes24.com

서론이 길었던 것 같다. 본론으로 들어가 보자.

 

책은 각 챕터마다 하나의 디자인패턴을 다루고 있다. 각 챕터에서는 실제 세계에 있을법한 상황을 던져주고 이 문제를 해결하기 위해 어떤 디자인 패턴을 사용하면 될지를 보여주면서 문제를 해결해 나간다. 문제를 해결하기 위해 실제 어떻게 설계하면 될지 다이어그램을 그려보고 그것을 Java 코드로 옮기고 있다. 그렇게 문제를 해결한 후 각 디자인 패턴에 대한 정의, 설명도 자세히 다루는 편이다. 

 

사실 나도 어떤 소프트웨어 문제를 해결하기 위해 바로 코딩을 시작하기보다는 다이어그램을 이렇게 저렇게 많이 그려 보면서 설계를 많이 고민하는 편이다. 그래서 그런지 이 책에서 문제를 해결하는 방식이 공감이 잘 되는 편이었다. 만약 소프트웨어 입문 자라면 이 책을 통해 디자인 패턴에 대한 지식뿐만 아니라 실제 있을 법한 문제를 해결해 나가는 습관까지 기를 수 있지 않을까 생각한다.

 

각 챕터의 순서는 저자가 생각하기에 주로, 자주 사용되는 순서로 배치를 한 것 같다. 그렇다고 뒤에 등장하는 챕터들이 중요하지 않은 것은 아닌 것 같다. 하지만 맨 마지막 챕터에서 여러 디자인 패턴을 두 페이지 정도에 간략히 설명하고 있는 부분이 있는데 이 부분은 조금 아쉽다. 각 패턴을 간략히 설명하려다 보니 설명이 너무 부족한 것 같다. 차라리 맨 마지막 챕터는 없애는 게 좋지 않을까 생각한다.

 

책의 내용은 굳이 요약하지 않겠다. 그냥 사서 읽어라. 읽는 과정에서 이 패턴이 어떤 문제를 해결할 수 있는지를 따라가는 재미를 내가 뺏고 싶지 않기 때문이다. 책의 구성이 좋은 편이고 몰입력도 좋은 편인 것 같다.

 

만약 디자인패턴 입문, 초보 수준이라면 이 책을 한 번 읽어보는 것이 큰 도움이 될 것 같다. 아마 코드를 보는 시야가 더 넓어질 것이고 코드를 작성하는 습관이 달라질 것이다. 그리고 이 책에서 다루지 않고 있는 다른 디자인 패턴을 학습하는 데 있어서 큰 밑거름이 될 것 같다. 좋은 책인 것 같다. 

 

반응형