JAVA 언어로 배우는 디자인 패턴 입문 : 쉽게 배우는 GoF의 23가지 디자인 패턴 (3판)

JAVA 언어로 배우는 디자인 패턴 입문 : 쉽게 배우는 GoF의 23가지 디자인 패턴 (3판)

$32.44
Description
객체지향 초심자도 이해하기 쉬운 디자인 패턴 입문서
프로그래밍을 하다 보면 예전과 같은 일을 반복하고 있다고 느낄 때가 있습니다. 경험이 늘어 갈수록 이러한 ‘패턴’이 자신의 머릿속에 많이 축적되고, 그 ‘패턴’을 다음 개발에 적용할 수 있게 됩니다. 갱스 오브 포(Gangs of Four) 혹은 GoF라고 불리는 네 사람은 이러한 개발자의 ‘경험’이나 ‘내적인 축적’을 ‘디자인 패턴’이라는 형태로 정리했습니다.

『JAVA 언어로 배우는 디자인 패턴 입문』은 GoF가 정리한 23개의 디자인 패턴을 하나씩 설명하면서 객체지향을 잘 모르는 초보자도 이해하기 쉽도록 정리한 디자인 패턴 입문서입니다. 단순히 논리나 이론만 제시하는 것이 아니라, 디자인 패턴을 사용한 구체적인 예제 프로그램을 Java 언어로 기술하고 실제로 동작시켜 봅니다. 2002년 초판으로부터 20년, 2008년 개정증보판으로부터 14년 만에 출간된 이번 3판은 예제 프로그램을 Java 언어의 발전에 맞추어 업데이트했고, 동시에 본문 내용도 전면적으로 재검토했습니다.

디자인 패턴은 먼 미래를 위해 배우는 것이 아닙니다. 디자인 패턴은 우리가 매일 사용하는 프로그램을 새로운 관점에서 재검토하여 재사용하기 쉽고, 기능을 확장하기 쉬운 소프트웨어를 만들기 위한 유익한 기법입니다. 이 책으로 디자인 패턴에 대한 이해를 넓히고 자바 개발자로서 한층 더 성장할 수 있을 것입니다.

저자

유키히로시

저자:유키히로시
1963년생.J.S.바흐의'푸가의기법'을가장좋아하는기독교인.프로그래밍언어,디자인패턴,암호및수학등의분야에서입문서를집필했다.대표작으로『수학걸』시리즈와『알기쉬운정보보호개론』등이있다.2014년도일본수학회출판상을수상했다.

역자:김성훈
IT기술에관심이많아관련서적을주로번역한다.주요번역서는다음과같다.<파이썬으로배우는머신러닝입문>,<게임정보학>,<게임프로그래밍의정석>,<양자컴퓨터의구조>,,<안드로이드개발레벨업교과서>,<실무에서바로통하는자바>,,,,<프로가가르쳐주는시퀀스제어>,<만화로쉽게배우는선형대수>,<그림으로배우는데이터과학>,<그림으로배우는프로그래밍구조>등다수

목차

1부|디자인패턴에익숙해지다
Part1Iterator처리를반복하다
Part2Adapter사이에끼워재사용한다

2부|하위클래스에맡기다
Part3TemplateMethod하위클래스에서구체적으로처리한다
Part4FactoryMethod하위클래스에서인스턴스를만든다

3부|인스턴스를만들다
Part5Singleton인스턴스를단하나만만든다
Part6Prototype복사해서인스턴스를만든다
Part7Builder복잡한인스턴스를조립한다
Part8AbstractFactory관련부품을조합하여제품을만든다

4부|나누어생각하다
Part9Bridge기능계층과구현계층을나눈다
Part10Strategy알고리즘을모두바꾼다

5부|동일시하다
Part11Composite그릇과내용물을동일시한다
Part12Decorator장식틀과내용물을동일시한다

6부|데이터구조를돌아다니다
Part13Visitor데이터구조를돌아다니면서처리한다
Part14ChainofResponsibility책임을떠넘긴다

7부|단순화한다
Part15Facade단순한창구를만든다
Part16Mediator중재자를통해서처리하다

8부|상태를관리하다
Part17Observer상태변화를알려준다
Part18Memento상태를저장한다
Part19State상태를클래스로표현한다

9부|낭비를없애다
Part20Flyweight같은것은공유해서낭비를없앤다
Part21Proxy필요해지면만든다

10부|클래스로표현한다
Part22Command명령을클래스로표현한다
Part23Interpreter문법규칙을클래스로표현한다

출판사 서평

▶3판에서달라진점
ㆍ예제프로그램을현대Java언어(람다식,확장for문,enum형등)로업데이트
ㆍ이해하기쉽게설명하되현대의관점에서예제와설명(의존성주입,보안관련설명등)수정
ㆍ고전적인디자인패턴23개는그대로다루면서대응하는예제프로그램도심플하게유지

▶이책의독자
ㆍ객체지향에관심이있는사람
ㆍ디자인패턴에관심이있는사람(특히GoF책을보고어렵다고느낀사람)
ㆍJava프로그래머(특히추상클래스나인터페이스가잘이해되지않는사람)

▶이책의구성
Part1Iterator처리를반복한다
여러요소가모여있는집합에서순서대로요소를처리하는Iterator패턴을학습합니다.

Part2Adapter사이에끼워재사용한다
서로다른인터페이스(API)의클래스를연결하는Adapter패턴을학습합니다

Part3TemplateMethod-하위클래스에서구체적으로처리한다
상위클래스에서기능의뼈대를정의하고,하위클래스에서세부처리를구현하는TemplateMethod패턴을학습합니다.

Part4FactoryMethod-하위클래스에서인스턴스를만든다
상위클래스에서는인스턴스를생성하는방법을결정하고,하위클래스에서인스턴스를생성하는FactoryMethod패턴을학습합니다.

Part5Singleton-인스턴스를단하나만만든다
인스턴스가하나만존재하는Singleton패턴을학습합니다.

Part6Prototype-복사해서인스턴스를만든다
원형이되는인스턴스를복사해서인스턴스를만드는Prototype패턴을학습합니다.

Part7Builder-복잡한인스턴스를조립한다
복잡한인스턴스를단계적으로조립하는Builder패턴을학습합니다.

Part8AbstractFactory-관련부품을조합하여제품을만든다
공장처럼부품을조합하여인스턴스를생성하는AbstractFactory패턴을학습합니다.

Part9Bridge-기능계층과구현계층을나눈다
두종류의확장이혼재하는프로그램을기능계층과구현계층으로나누고,그사이에서중개역할을하는Bridge패턴을학습합니다.

Part10Strategy-알고리즘을모두바꾼다
알고리즘을싹바꿔서개선하기쉽게만드는Strategy패턴을학습합니다.

Part11Composite-그릇과내용물을동일시한다
그릇과내용물을동일시하여재귀적인구조를구축하는Composite패턴을학습합니다.

Part12Decorator-장식틀과내용물을동일시한다
장식과내용물을동일시하여장식틀을여러겹으로겹치는Decorator패턴을학습합니다.

Part13Visitor-데이터구조를돌아다니면서처리한다
데이터구조를돌아다니면서같은조작을반복해서적용하는Visitor패턴을학습합니다.

Part14ChainofResponsibility-책임을떠넘긴다
복수의객체가연결된체인안에서작업하는ChainofResponsibility패턴을학습합니다.

Part15Facade-단순한창구를만든다
복잡하게얽힌클래스를개별적으로제어하는것이아니라,창구역할을하는클래스를하나배치함으로써시스템전체의조작성을좋게만드는Facade패턴을학습합니다.

Part16Mediator-중재자를통해처리한다
복수의클래스가서로직접소통하지않고,중개역할을하는클래스를하나준비해그클래스하고만의사소통을하게해서프로그램을단순하게만드는Mediator패턴을학습합니다.

Part17Observer-상태변화를알려준다
상태가변화하는클래스와그변화를통지받는클래스를분리해생각하는Observer패턴을학습합니다.

Part18Memento-상태를저장한다
현재상태를저장하고필요할때복귀시켜,Undo기능을할수있게하는Memento패턴을학습합니다.

Part19State-상태를클래스로표현한다
상태를클래스로표현하고상태에따른분기처리를줄여주는State패턴을학습합니다.

Part20Flyweight-같은것은공유해서낭비를없앤다
여러곳에서같은것이등장할때그것들을공유해서낭비를없애는Flyweight패턴을학습합니다.

Part21Proxy-필요해지면만든다
정말로목적한것이필요해질때까지는대리인을시켜처리를진행하는Proxy패턴을학습합니다.

Part22Command-명령을클래스로표현한다
요구나명령을형태로만들어클래스로표현하는Command패턴을학습합니다.

Part23Interpreter-문법규칙을클래스로표현한다
문법규칙을클래스로표현하는Interpreter패턴을학습합니다.