[개발자 책 추천] 쉽게 배워 바로 써먹는 디자인 패턴

객체지향 개발 과정에서 겪는 다양한 이슈를 종합해보면, 각기 다른 문제가 아니라 서로 비슷한 유형의 문제가 됩니다. 개발자들은 서로 자신의 경험을 바탕으로 그 비슷한 유형의 문제들을 각기 다르게 해결해나갔습니다.

 

이러한 비슷한 유형의 문제를 다르게 해결해 나갈 필요성이 없다고 생각한 GoF는 객체지향 설계 시 발생하는 문제점을 목록화하여 24가지 패턴으로 정리하였고 이를 오늘날 디자인 패턴(Design Patterns)이라고 부르게 되었고, 이는 디자인 패턴 24가지를 학습한다면 소프트웨어 설계에 있어서 공통된 문제들에 대하여 표준적인 해법과 직영 법으로 접근이 쉬워짐을 뜻 하기에 우리는 디자인 패턴을 배워고 이해해야 합니다.

 

지금 추천하는 책의 예제는 PHP 언어를 기반으로 이루어져 있기 때문에 Java언어 기반의 예제로 되어있는 다른 디자인 패턴 책들과 다르게 PHP 개발자가 디자인 패턴에 대한 학습을 용이하게 합니다. 때문에 이 책의 추천 대상은 필자와 같은 PHP / Laravel 개발자입니다.

소프트웨어 설계 분야에서 유명한 사인방(Gang of Four, GoF) - 에리히 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시드(John Vlissides) 

 

'디자인 패턴'이라는 이야기만 나오면 지례 겁부터 먹어버리는 저로써 2 회독하며 조금씩 이해하게 되는 책이었습니다. 내용은 디자인 패턴을 크게 [생성, 구조, 행동] 패턴으로 나누고 각 패턴의 하위에 아래와 같이 하위 패턴으로 묶어서 구성되었습니다.

생성 - 팩토리, 싱글턴, 팩토리 메서드, 추상 팩토리, 빌더, 프로토 타입 패턴
구조 - 어댑터, 브릿지, 복합체, 장식자, 파사드, 플라이 웨이트, 프록시 패턴
행동 - 반복자, 명령, 방문자, 체인, 감시자, 중재자, 상태, 메멘토, 템플릿 메서드, 전략, 인터프리터 패턴

다른 책에서는 생성 패턴을 5가지로 나누어 팩토리 - 추상팩토리를 묶어서 표현했던 걸로 기억하는데, 이 책에서는 별도로 구성하여 예제를 들며 서로 같으면서 추가된 점이나 다른 점이 무엇인지 알 수 있었습니다. 또한 PHP를 예제로 들기 때문에 PHP 프로젝트의 비중이 더 큰 저로써는 책을 읽으며 동시에 개발하는 프로젝트에 적용해볼 수 있었습니다.

사진과 같이 예제가 PHP 언어로 이루어져 있고, input 및 output이 상당히 잘 나와있어서 한눈에 보며 이해하기 쉬웠습니다. 이 책은 누구나 이해할 수있는 쉬운 예제와 눈높이를 낮춘 설명으로 디자인 패턴을 배우고 학습하고자 하는 PHP 주니어 개발자들에게 추천드리며 객체지향을 이해하고, 프레임웍 학습을 하려하는 개발자들에게 유익한 가이드가 될 것이라고 생각합니다.

 

제목 : 쉽게 배워 바로 써먹는 디자인 패턴
저자 : 이호진
가격 : 35,000원
출판사  : 한빛미디어