이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
실패하지 않는 자바 개발자를 위한 Anti Design Pattern
Toshikazu Ando 저
영진닷컴 2003.02.28.
가격
18,000
10 16,200
YES포인트?
900원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

제0장 디자인 패턴의 패러독스 - 디자인 패턴의 약점은?
0-1 디자인 패턴을 사용한 프로젝트는 왜 실패하는가?
0-1-1 디자인 패턴의 이면
0-1-2 디자인 패턴의 약점(1)
0-1-3 디자인 패턴의 약점(2)
0-1-4 디자인 패턴의 약점(3)
0-1-5 디자인 패턴의 약점(4)
0-1-6 그리고 누구도 사용하지 않게 된 디자인 패턴

제1장 비객체 지향에 익숙한 초보자가 익혀야 할 것
1-1 디자인 패턴이 진가를 발휘하려면
1-1-1 디자인 패턴에서 중요한 것
1-2 초보자가 하기 쉬운 것 - 복사하기와 붙여넣기 공격
1-2-1 복사하기와 붙여넣기는 간단하지만…
1-2-2 복사와 붙여넣기에 의한 확장의 결점
1-2-3 소스 코드의 오염은 최소화해야
1-3 초보자가 다음으로 할 것 같은 것 - 같은 처리가 대단히 많다 (1)
1-3-1 같은 처리를 반복하는 것은 간단하지만…
1-3-2 같은 처리를 반복하는 것의 결점
1-4 초보자가 다음으로 할 것 같은 것 - 같은 처리가 대단히 많다 (2)
1-4-1 if문의 다용과 오염 개소의 증대
1-4-2 상속이란 무엇인가
1-4-3 인터페이스를 사용해서 이해하기 힘든 것을 해소
1-4-4 추상 클래스 - 구현을 현재 클래스로부터 분리

제2장 초보자가 그 다음으로 익혀야 할 - 제발 공유화합시다
2-1 클래스의 재사용과 패키지화
2-1-1 클래스의 재사용에서의 문제점
2-1-2 패키지 선언 방법
2-2 클래스명이 중복되고 있을 때는 어떻게 할까?
2-2-1 클래스명의 중복을 해결하는 2가지 방법

제3장 객체를 생성한다 - 객체란 무엇인가? 전부 'static'으로 사용하면 안 되나?
3-1 '객체 지향'과 '객체'
3-1-1 객체는 데이터와 함수의 모임
3-1-2 사물을 추상화해서 생각한다
3-2 객체화와 예외
3-2-1 객체가 생성되는 시점
3-2-2 static 선언에서 객체화의 예외
3-2-3 static의 결점
3-3 static를 사용한 패턴
3-3-1 Singleton 패턴
3-4 접근 제한자
3-4-1 3개의 접근 제한자와 그 역할
3-4-2 객체 지향과 정보 은닉
3-5 접근 제한:final의 3종류
3-5-1 final로 접근을 제한한다
3-6 상속을 할 때 주의할 점(super)
3-6-1 상속과 생성자
3-7 이제 다시 Singleton을 살펴봅시다
3-7-1 객체는 반드시 하나만...
3-7-2 Singleton을 생성하는 시점

제4장 누구도 사용하지 않게 된 디자인 패턴 - 운용에서 시작하는 디자인 패턴
4-1 프로그램의 복잡화는 Facade로 해소
4-1-1 디자인 패턴을 사용하지 않는 편이 좋은 경우
4-1-2 복잡한 프로그램을 해소하는 Facade 패턴
4-2 디자인 패턴 사용에서 중요한 것
4-2-1 '이해'와 '협력', 그리고 '광고'

제5장 연속 배치/탐색을 하고 싶다 - 배열은 어렵다, 배열은 싫다, 배열따윈 최악이다
5-1 자바와 배열의 관계
5-1-1 자바에서 배열 사용 방법
5-1-2 게으른 개발자와 배열
5-1-3 컬렉션 사용 예
5-1-4 '오름차순으로 정렬하는 것'의 어려움
5-1-5 연상 배열의 사용
5-2 Command 패턴에 관하여
5-2-1 커맨드에 의한 배치 처리
5-3 Iterator를 사용해서는 안 되는 패턴
5-3-1 Iterator의 단점은?

제6장 빠르고 안전한 시스템 구축에 향해서
6-1 Flyweight로 데이터 공유
6-1-1 해서는 안 될 데이터 관리의 예
6-1-2 Flyweight를 통해 쉽게 공유
6-2 Proxy로 조금 시간 벌기
6-2-1 객체와 비용에 관해서 생각해 봅시다
6-2-2 Proxy로 객체를 생성하는 시점을 조금 늦춘다

제7장 '사용'도, '재사용'도 할 수 없다면 개조할 수밖에 없다! - 재사용하기 위해 필요한 것
7-1 Adapter의 두 가지 사용법
7-1-1 Adapter 사용법(1) - 다수의 인터페이스 구현
7-1-2 Adapter 사용법(2) - 컴포지션을 사용하는 경우
7-1-3 Adapter의 좋지 않는 사용법
7-2 Bridge의 본질은 Adapter와 같다
7-2-1 Adapter와 Bridge의 차이는?
7-3 Decorator는 또 하나의 '한 겹 씌운' 패턴
7-3-1 기하급수적인 클래스의 증가를 억제한다

제8장 처음부터 다시 작성하는 것이 귀찮다 - 데이터의 작성, 저장, 열람
8-1 Memento로 데이터를 관리한다
8-1-1 데이터 부분만 추출해서 관리한다
8-2 Memento로 실수를 하지 않기 위해서
8-2-1 Memento의 장점과 약점을 이해한다
8-3 Abstract Factory는 복잡한 생성 패턴
8-3-1 객체를 생성하는 클래스 집합
8-3-2 '휴대 전화'를 생각해 봅시다
8-3-3 '사람의 정보'와 '추천 가게의 정보'

제9장 이것이 바로 프레임워크 - 동작의 전파와 조작
9-1 Observer로 버튼 처리를 완벽히
9-1-1 버튼 객체에 관해서
9-1-2 Observer의 도입
9-2 Observer의 확장
9-2-1 Observer의 확장(1) - 내부 클래스
9-2-2 Observer의 확장(2) - 익명 내부 클래스
9-3 try/catch() 절을 사용하여 예외 처리를 '정리해서 처리'한다
9-3-1 예외 처리를 정리해서 낭비를 없앤다
9-4 Mediator에 의한 처리의 집중 관리
9-4-1 클래스 수 증가가 파탄을 부른다
9-4-2 Mediator로 행동을 집중 관리한다

제10장 구현과 기능의 분리 - 이 동작은 이상하다! 바꾸자
10-1 객체 생성과 구축
10-1-1 '상태'와 '전략'을 클래스화한다
10-2 객체를 전달하여 내부에서의 행동을 바꾼다 - Builder
10-2-1 식은 '달걀'과 '피자'가 어떻게 할까?
10-3 상태를 미리 새롭게 해둔다
10-3-1 '피자 조리 방법'에서 '달걀 조리 방법'으로

제11장 실체는 폴더와 같은 것 - 트리 구조를 능숙하게 사용하자!
11-1  트리 구조와 디자인 패턴
11-1-1 Composite와 이진(binary) 트리
11-1-2 Composite의 주의점
11-1-3 트리 구조로 처리를 전파시킨다
11-1-4 행동을 데이터로부터 분리한다

제12장 지금까지와는 전혀 다른 Interpreter 패턴
12-1 가장 어려운 Interpreter 패턴
12-1-1 해석 처리 문법을 클래스화하여 트리 구조를 만든다

제13장 초보자가 경시하는, 그러나 절대 하지 말아야 할 것 - 이해할 수 없고 헷갈리는 프로그램의 근본적인 원인
13-1 인덴트(들여쓰기)가 엉망진창
13-2 명명 규칙이 엉망진창
13-3 그 밖에도 '주의했으면 하는 것'

부록 실행 환경에 관해서
제0장 디자인 패턴의 패러독스 - 디자인 패턴의 약점은?
0-1 디자인 패턴을 사용한 프로젝트는 왜 실패하는가?
0-1-1 디자인 패턴의 이면
0-1-2 디자인 패턴의 약점(1)
0-1-3 디자인 패턴의 약점(2)
0-1-4 디자인 패턴의 약점(3)
0-1-5 디자인 패턴의 약점(4)
0-1-6 그리고 누구도 사용하지 않게 된 디자인 패턴

제1장 비객체 지향에 익숙한 초보자가 익혀야 할 것
1-1 디자인 패턴이 진가를 발휘하려면
1-1-1 디자인 패턴에서 중요한 것
1-2 초보자가 하기 쉬운 것 - 복사하기와 붙여넣기 공격
1-2-1 복사하기와 붙여넣기는 간단하지만…
1-2-2 복사와 붙여넣기에 의한 확장의 결점
1-2-3 소스 코드의 오염은 최소화해야
1-3 초보자가 다음으로 할 것 같은 것 - 같은 처리가 대단히 많다 (1)
1-3-1 같은 처리를 반복하는 것은 간단하지만…
1-3-2 같은 처리를 반복하는 것의 결점
1-4 초보자가 다음으로 할 것 같은 것 - 같은 처리가 대단히 많다 (2)
1-4-1 if문의 다용과 오염 개소의 증대
1-4-2 상속이란 무엇인가
1-4-3 인터페이스를 사용해서 이해하기 힘든 것을 해소
1-4-4 추상 클래스 - 구현을 현재 클래스로부터 분리

제2장 초보자가 그 다음으로 익혀야 할 - 제발 공유화합시다
2-1 클래스의 재사용과 패키지화
2-1-1 클래스의 재사용에서의 문제점
2-1-2 패키지 선언 방법
2-2 클래스명이 중복되고 있을 때는 어떻게 할까?
2-2-1 클래스명의 중복을 해결하는 2가지 방법

제3장 객체를 생성한다 - 객체란 무엇인가? 전부 'static'으로 사용하면 안 되나?
3-1 '객체 지향'과 '객체'
3-1-1 객체는 데이터와 함수의 모임
3-1-2 사물을 추상화해서 생각한다
3-2 객체화와 예외
3-2-1 객체가 생성되는 시점
3-2-2 static 선언에서 객체화의 예외
3-2-3 static의 결점
3-3 static를 사용한 패턴
3-3-1 Singleton 패턴
3-4 접근 제한자
3-4-1 3개의 접근 제한자와 그 역할
3-4-2 객체 지향과 정보 은닉
3-5 접근 제한:final의 3종류
3-5-1 final로 접근을 제한한다
3-6 상속을 할 때 주의할 점(super)
3-6-1 상속과 생성자
3-7 이제 다시 Singleton을 살펴봅시다
3-7-1 객체는 반드시 하나만...
3-7-2 Singleton을 생성하는 시점

제4장 누구도 사용하지 않게 된 디자인 패턴 - 운용에서 시작하는 디자인 패턴
4-1 프로그램의 복잡화는 Facade로 해소
4-1-1 디자인 패턴을 사용하지 않는 편이 좋은 경우
4-1-2 복잡한 프로그램을 해소하는 Facade 패턴
4-2 디자인 패턴 사용에서 중요한 것
4-2-1 '이해'와 '협력', 그리고 '광고'

제5장 연속 배치/탐색을 하고 싶다 - 배열은 어렵다, 배열은 싫다, 배열따윈 최악이다
5-1 자바와 배열의 관계
5-1-1 자바에서 배열 사용 방법
5-1-2 게으른 개발자와 배열
5-1-3 컬렉션 사용 예
5-1-4 '오름차순으로 정렬하는 것'의 어려움
5-1-5 연상 배열의 사용
5-2 Command 패턴에 관하여
5-2-1 커맨드에 의한 배치 처리
5-3 Iterator를 사용해서는 안 되는 패턴
5-3-1 Iterator의 단점은?

제6장 빠르고 안전한 시스템 구축에 향해서
6-1 Flyweight로 데이터 공유
6-1-1 해서는 안 될 데이터 관리의 예
6-1-2 Flyweight를 통해 쉽게 공유
6-2 Proxy로 조금 시간 벌기
6-2-1 객체와 비용에 관해서 생각해 봅시다
6-2-2 Proxy로 객체를 생성하는 시점을 조금 늦춘다

제7장 '사용'도, '재사용'도 할 수 없다면 개조할 수밖에 없다! - 재사용하기 위해 필요한 것
7-1 Adapter의 두 가지 사용법
7-1-1 Adapter 사용법(1) - 다수의 인터페이스 구현
7-1-2 Adapter 사용법(2) - 컴포지션을 사용하는 경우
7-1-3 Adapter의 좋지 않는 사용법
7-2 Bridge의 본질은 Adapter와 같다
7-2-1 Adapter와 Bridge의 차이는?
7-3 Decorator는 또 하나의 '한 겹 씌운' 패턴
7-3-1 기하급수적인 클래스의 증가를 억제한다

제8장 처음부터 다시 작성하는 것이 귀찮다 - 데이터의 작성, 저장, 열람
8-1 Memento로 데이터를 관리한다
8-1-1 데이터 부분만 추출해서 관리한다
8-2 Memento로 실수를 하지 않기 위해서
8-2-1 Memento의 장점과 약점을 이해한다
8-3 Abstract Factory는 복잡한 생성 패턴
8-3-1 객체를 생성하는 클래스 집합
8-3-2 '휴대 전화'를 생각해 봅시다
8-3-3 '사람의 정보'와 '추천 가게의 정보'

제9장 이것이 바로 프레임워크 - 동작의 전파와 조작
9-1 Observer로 버튼 처리를 완벽히
9-1-1 버튼 객체에 관해서
9-1-2 Observer의 도입
9-2 Observer의 확장
9-2-1 Observer의 확장(1) - 내부 클래스
9-2-2 Observer의 확장(2) - 익명 내부 클래스
9-3 try/catch() 절을 사용하여 예외 처리를 '정리해서 처리'한다
9-3-1 예외 처리를 정리해서 낭비를 없앤다
9-4 Mediator에 의한 처리의 집중 관리
9-4-1 클래스 수 증가가 파탄을 부른다
9-4-2 Mediator로 행동을 집중 관리한다

제10장 구현과 기능의 분리 - 이 동작은 이상하다! 바꾸자
10-1 객체 생성과 구축
10-1-1 '상태'와 '전략'을 클래스화한다
10-2 객체를 전달하여 내부에서의 행동을 바꾼다 - Builder
10-2-1 식은 '달걀'과 '피자'가 어떻게 할까?
10-3 상태를 미리 새롭게 해둔다
10-3-1 '피자 조리 방법'에서 '달걀 조리 방법'으로

제11장 실체는 폴더와 같은 것 - 트리 구조를 능숙하게 사용하자!
11-1  트리 구조와 디자인 패턴
11-1-1 Composite와 이진(binary) 트리
11-1-2 Composite의 주의점
11-1-3 트리 구조로 처리를 전파시킨다
11-1-4 행동을 데이터로부터 분리한다

제12장 지금까지와는 전혀 다른 Interpreter 패턴
12-1 가장 어려운 Interpreter 패턴
12-1-1 해석 처리 문법을 클래스화하여 트리 구조를 만든다

제13장 초보자가 경시하는, 그러나 절대 하지 말아야 할 것 - 이해할 수 없고 헷갈리는 프로그램의 근본적인 원인
13-1 인덴트(들여쓰기)가 엉망진창
13-2 명명 규칙이 엉망진창
13-3 그 밖에도 '주의했으면 하는 것'

부록 실행 환경에 관해서

저자 소개

저자 : Toshikazu Ando
1973년 일본 아이치현에서 출생, 金澤공업대학 대학원 정보공학 전공.
치바현 我孫子시에 근무. 현재 활발히 활동 중인 엔지니어.
Java와 Emacs-Lisp를 사랑하지만 C나 perl 등도 잘한다.
자바 프레스지(기술평론사)에 '계산 천사 java tip plus~java de 계산 패턴' 등을 연재

품목정보

발행일
2003년 02월 28일
쪽수, 무게, 크기
262쪽 | 492g | 크기확인중
ISBN13
9788931423969

리뷰/한줄평2

리뷰

6.0 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.