요즘 주위를 보면 많은 사람들이 프로그램에 관심을 보이고 있습니다.
간단한 코딩 몇 줄로 브라우저에서 뭔가 보이고, 컴퓨터에 멋진 화면이 나타납니다.
이렇게 프로그램에 흥미를 느끼고 새롭게 배워가면서 조금씩 실력이 늘어갑니다.
그러다 복잡한 로직을 만나는 순간 머리가 하얗게 됩니다.
도대체 어떻게 풀어가야 할지 도저히 생각이 나지 않습니다.
객체지향 프로그래밍이라고 하는데 객체가 무엇인지도 모르겠고, 어떻게 배워야 할지도 막막합니다.
이 책 '쉽게 배워 바로 써먹는 디자인 패턴'은 바로 이럴때 큰 도움이 되는 책입니다.
디자인 패턴.
프로그램을 제대로 배운 분들은 이미 알고 있는 내용이지만, 비전공자분들에게는 생소한 단어입니다.
'GOF의 디자인 패턴'은 디자인 패턴이라고 하면 바로 떠올리는 명저이죠.
24가지 디자인 패턴에 대해 가장 잘 설명하고 있는 책이기는 하지만 내공이 없다면 쉽게 이해하기 힘든 책이기도 합니다.
그래서 이 책을 기반으로 자바, C, 파이썬, 자바스크립트 등의 언어들은 디자인 패턴을 각자의 언어로 설명한 책들이 있습니다.
하지만 아직까지 PHP로 설명하는 디자인 패턴 책은 없었서 많은 PHP 개발자들이 디자인 패턴을 쉽게 이해하기 어려웠습니다.
그런데 이제 그것을 해결해 줄 책이 나왔습니다.
이 책은 디자인 패턴을 생성 패턴, 구조 패턴, 행동 패턴와 같이 크게 3가지 패턴으로 나누고 있습니다.
그리고 각각의 패턴은 아래와 같이 나누어져 있습니다.
생성 패턴 : 팩토리 패턴, 싱글턴 패턴, 팩토리 메서드 패턴, 추상 팩토리 패턴, 빌더 패턴, 프로토타입 패턴
구조 패턴 : 어댑터 패턴, 브리지 패턴, 복합체 패턴, 장식자 패턴, 파사드 패턴, 플라이웨이트 패턴, 프로시 패턴
행동 패턴 : 반복자 패턴, 명령 패턴, 방문자 패턴, 체인 패턴, 감시자 패턴, 중재자 패턴, 상태 패턴, 메멘토 패턴, 템플릿 메서드 패턴, 전략 패턴, 인터프리터 패턴
패턴 하나하나에 대해 상세한 이론적 설명과 함께 쉽게 이해할 수 있는 코드도 함께 제공하고 있습니다.
패턴의 특징은 물론이고, 장점과 단점, 비슷한 패턴도 함께 알려주고 있습니다.
패턴을 하나하나 공부하다보면 낯익은 것들을 보면서 깜짝 놀랄 수도 있습니다.
이름만 몰랐을 뿐, 이미 패턴을 프로그램에 사용하고 있을 것입니다.
그럼, 왜 패턴을 사용해야 할까요?
지금까지 패턴을 몰라도 프로그램을 작성하는데 문제가 없었다면 정말 간단한 프로그램 작업만 했거나, 패턴의 이름만 몰랐을 뿐 이미 사용하고 있을 가능성이 높습니다.
이론적으로 알아야 하는 이유는 보다 더 '쉽게' 개발을 하기 위함입니다.
흔히 노가다라고 하는 단순 작업을 줄이고 더 간편하고 심플한 프로그램을 작성할 수 있습니다.
그리고 성능이나 유지보수 측면에서 매우 효율적이기 때문입니다.
이 책은 제목처럼 디자인 패턴을 정말 '쉽게' 설명해 주고 있습니다.
코드가 배우기 쉬운 PHP로 되어 있어 언어에 대해 두려움이 있는 분들에게는 최고의 선택이 될 것입니다.
책을 쉽게 추천하지 않는 스타일인데, 이 책은 보는 도중에도 주변 지인들에게 자신있게 소개하고 있습니다.