실전 코드로 배우는 실용주의 디자인 패턴

Holub on Patterns : Learning Design Patterns by Looking at Code

Allen Holub 저 / 송치형 역

이 책은 객체지향 기반의 소프트웨어 시스템을 설계할 때 효율성과 안정성을 높일 수 있는 디자인 패턴에 대해서 알기 쉽게 설명한 책이다. 책에서는 개발자들이 쉽게 이해할 수 있는 ‘SQL Interpretor’와 ‘Game of Life’ 예제를 이용해 GoF의 모든 패턴을 설명하는데, 기존의 패턴 카탈로그 식 구성이 아니라 모든 패턴은 독자들에게 코드를 직접 보여주면서 실제 프로그램을 통해 설명하기 때문에 독자들의 패턴 활용 능력을 키워준다. 또한, 객체지향 설계의 보다 자세한 구문들을 보여주고 있으며, 흔히 발생하는 객체지향 설계의 문제들을 패턴들이 어떤 방법으로 해결하는지에 대해서도 설명하고 있다. 그리고 대부분의 책들에서는 설명하지 않고 있는, 프로그램의 유지관리와 디버깅을 보다 쉽게 할 수 있도록 하는 객체지향의 주요 원리들도 많이 다루고 있다.


도서 상세

분야: [프로그래밍, 비즈니스 & 테크놀러지]

출간일: Jul 19, 2006

페이지: 497

도서정가: 26,000 원

ISBN: 9788955508512

부가 정보


관련 도서

출판사 서평

“최고의 디자인 패턴 실무 활용서!”

훌륭한 객체지향 디자이너가 되려면 디자인 패턴에 대해 속속들이 알고 있어야 한다. 패턴이 무엇인지를 단편적으로 알 뿐 실제 문제를 해결하기 위해 패턴을 자유로이 활용할 수 없다면 아무런 소용이 없다. 하지만 패턴을 주제로 한 대부분의 책들은 패턴을 실제 프로젝트에서 활용하는 방법에 대해서는 독자들의 몫으로 넘기고 있다. 이러한 책들은 패턴 카탈로그를 설명하지만, 예제들이 너무 단순하기 때문에 패턴을 실제 프로젝트에서 어떻게 활용해야 하는지에 대해 깊이 있는 이해를 하기 어렵다. 이러한 책들에서 설명하고 있는 예제로는 패턴 사이의 복잡한 상호작용이나 패턴을 실체화하는 수많은 방법을 익히기 어렵게 때문이다. 또한 너무나 많은 패턴 책들이 패턴 활용 능력을 키워주기 보다는 이해하기 어려운 학술적 설명으로 가득 차 있다.

‘실용주의 디자인 패턴’은 이러한 문제를 해결하기 위한 책이다. 저자는 컨설턴트이자 프로그래머이며, 프로그래머를 위해 이 책을 저술했다. 이 책은 단순한 예제들 대신 ‘라이프 게임’과 ‘소형 내장 데이터베이스’를 구현해 가며 패턴을 학습하도록 한다. 두 프로그램을 통해 “Gang of Four”의 모든 디자인 패턴을 실제 프로그램의 문맥 안에서 학습할 수 있다. 여러분은 패턴이 어떻게 동작하는 지 뿐 아니라 패턴들이 어떻게 상호작용 하는지에 대해서도 체험할 수 있을 것이다. 즉 상용 제품 수준의 애플리케이션에서 실제로 패턴을 활용할 수 있는 방법을 익히게 되는 것이다.

이 책은 또한 객체지향 프로그래밍의 원칙들에 대해 설명한다. 이러한 원칙들이 패턴에 어떻게 적용되지를 알게 되면, 패턴이 왜 그러한 모습으로 되어 있는지를 근본부터 이해할 수 있다. 마지막으로 이 책은 실전 프로그램 문맥에서 학습한 패턴을 정리하고 기억을 환기시켜 주기 위한 목적으로 ‘실용주의 패턴 퀵 레퍼런스’를 제공한다. ‘실용주의 패턴 퀵 레퍼런스’는 패턴을 46페이지로 요약해 놓은 카탈로그 식 정리로 프로그래머를 위한 유용한 레퍼런스가 될 것이다.

이 책을 읽기 위해 이미 디자인 패턴에 대해 알고 있을 필요는 없다(물론 자바는 알아야 한다). 이 책을 마쳤을 때 여러분은 패턴에 대해 깊이 있게 알 수 있을 뿐 아니라, 이들을 실제 업무에서 자유롭게 활용할 수 있게 될 것이다.

저자 소개

앨런 홀럽 : 홀럽은 1979년부터 컴퓨터 업계에서 경력을 쌓았다. 그는 현재 컨설턴트로서 기업들이 소프트웨어에 불필요하게 돈을 낭비하지 않도록 도와주고 있다. 또한 OO 디자인, 자바 등에 대한 강좌를 운영하고 있으며 디자인 프로세스 멘토링과 디자인 리뷰, 기업의 기술 심사 등을 하며 때로는 직접 프로그램을 작성하기도 한다. Compiler Design in C, Taming Java Thread 등의 책을 저술했고, IBM developWorks, 자바 월드 등에 활발히 글을 쓰고 있다.


역자 소개

송치형 : 충남 과학고를 졸업하고 서울대에서 컴퓨터 공학과 경제학을 전공하고 있다. 코어 로직스에서 데이터마이닝 및 OLAP 엔진, 현대 상선에서 예산 프로젝션 엔진, 컨설팅 업체에서 휴대폰 요금제에 따른 이통사 수익률 시뮬레이션 프로그램, 다날에서 룰 기반의 위기관리 시스템과 결제 프레임워크, 중국 휴대폰 결제 시스템을 개발했다. Spring, Hibernate 등을 이용한 POJO 기반의 개발을 좋아하고 요즘은 Ruby와 Ruby on Rails에 푹 빠져있다. ‘http://blog.naver.com/scroco’와 ‘scroco@naver.com’을 통해 역자와 연락할 수 있다. 

0장 소프트웨어 설계의 고고학
1장 OO와 디자인 패턴 기초 다지기
2장 인터페이스로 프로그래밍하기 그리고 몇 개의 생성 패턴
3장 라이프 게임
4장 소형 데이터베이스 SQL 구현하기

부록 디자인 패턴 퀵 레퍼런스