Scientia Conditorium

[책리뷰] 쉽게 배워 바로 써먹는 디자인 패턴 본문

서평/IT-책

[책리뷰] 쉽게 배워 바로 써먹는 디자인 패턴

크썸 2021. 9. 21. 00:13

[디자이이이인 패턴

 

사실 디자인패턴은 공부할 필요가 없는 영역이긴 하다. 알아두면 좋다 이정도?!. 이유는 간단하다. 프로그래밍을 하다보면 문제해결에 꼭 필요한 구조를 짜야할 때가 있는데, 완성시켜보면 어느 패턴 중 하나라는 걸 알게된다.

즉, 나도 모르게 자연스럽게 디자인패턴 중 일부를 사용하고 있다는 것이다.

이 때쯤 되면, '아, 이게 그런 패턴이라고 하는구나' 라고 깨닫는다. 가벼운 예시로, '음식점에서도 선입선출(先入先出)이 있듯이 먼저 들어온 데이터가 먼저 처리되게끔 코딩해야겠군. 엥? 이걸 큐(queue)라고 부른다고?! 당연한거에 굳이 이름을...' 이런 느낌이랄까...

그렇다면 이 책은 필요없는 책인가?! 그렇지 않다. 책에서 말하는 24가지 패턴 중 일부만이라도 알고 있다면 코딩할 때의 시간 단축이 많이 된다. 해야할 일이 많은 업계 특성상 빠르게 습득할 수 있으면 좋다. 따라서 책 제목처럼 쉽게 배워 바로 써먹는 디자인 패턴 지식이 필요하다.

 

이런 책들의 가장 아쉬운 점은 비주류 언어로 집필한다는 점이다. 항상 말머리에 특정 언어에 종속되지 않고 쉽게 쓸 수 있게끔 구성했다고 하지만 글쎄.... 이 책은 php를 썼다고 한다. 뻔하다. 저자가 가장 자주 쓰고 애용하는 언어이기 때문이다. 사실 저자말대로 디자인 패턴을 공부하는데 특정 언어를 써야할 필요는 없지만 아쉬울 뿐이다. 그래도 파이썬을 선택 안한게 어디인가...

 

책의 장점이라고 한다면 디자인 구성과 함께 패턴이 어떻게 구성되었는지 알려준다. 각 패턴별로 장단점을 설명해주기 때문에 이 부분만 보더라도 이해하긴 쉽다. 다만 이런 것들은 대부분의 디자인패턴 책에서도 다루고 있는 부분이다. 이 책은 php로 다루었다는 점을 제외하고는 특별한 점이 보이지 않았다. 최신 집필인데도 내용은 구시대적 느낌이다.

 

디자인 패턴은 아니지만 엔티티 컴포넌트 시스템(ECS, Entity Componenet System)이라던가 데이터 오리엔트 디자인(DOD, Data Oriented Design)을 다루었으면 하는 바램이 있다. 물론 아키텍처 패턴이기 때문에 이런 책에서는 다룰 일이 없다.

 

php를 주로 다루는 직장이라면 이 책은 도움이 될 것이다. 또한 디자인 패턴에 대해 가볍게 알고 싶은 사람들에게도 좋지만 크게 추천하지는 않는다. 차라리 'Head First Design Patterns: 스토리가 있는 패턴 학습법', '게임 프로그래밍 패턴'을 추천하고 싶다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."