서브메뉴

본문

개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴
개발자가 반드시 정복해야 할 객체 지향과 디자인 패턴
저자 : 최범균
출판사 : 인투북스
출판년 : 2013
ISBN : 9788969090010

책소개

개발자가 반드시 정복해야 할 『객체 지향과 디자인 패턴』. 자바나 C#과 같은 객체 지향 언어는 익혔지만 객체 지향 자체에 대한 이해가 부족한 개발자를 위해 가능한 복잡하지 않은 예제를 이용해 객체 지향의 원리, 원칙, 패턴 등을 설명한 책이다. 개발 경험은 많지만 객체 지향에 대한 전반적 이해가 필요한 중급 개발자, 객체 지향 지식을 후배들에게 전달하고 싶은 선배 개발자들에게 도움을 준다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

■ 책에서 다루는 내용
- 객체 지향 (객체, 책임, 의존, 캡슐화)
- 다형성과 추상화
- 상속보단 조립
- SOLID 설계 원칙
- DI와 서비스 로케이터
- 주요 디자인 패턴

■ 베타 리더들의 서평
책 전반에서 상황에 따른 적절한 예가 많이 사용되고 있어 필자의 다양한 경험이 느껴지는 것과 동시에 알맞은 비유로 객체 지향에 대한 이해도를 확실히 높여주는 책!
- 장진달님 -

객체 지향의 주요 개념을 명확히 설명하면서도, 그에 대한 이해를 그림으로 돕고 있어 초급 개발자도 이 책을 통해 처음부터 기본기를 튼튼하게 다질 수 있다
-김용훈님, XLGames -

제대로 이해하지 못했던 객체 지향의 개념들을 쉬운 예제를 통해 핵심을 전달합니다. 프로젝트 시작 전에 참고한다면 선임 개발자의 가르침을 얻으며 즐거운 개발을 할 수 있을 것입니다.
- 박재기님, 쿠팡 -

이 책은 단호하고, 명쾌합니다. 풍부한 경험에서 나온 책이다 보니 경험에 의해 필터된(Best Practice) 핵심이 도드라져 나옵니다.
- 장준석님) -
[교보문고에서 제공한 정보입니다.]

목차정보

Part 01 객체지향
Chapter 01 들어가기
1. 지저분해지는 코드
2. 수정하기 좋은 구조를 가진 코드
3. 소프트웨어의 가치

Chapter 02 객체 지향
1. 절차 지향과 객체 지향
1.1 절차 지향
1.2 객체 지향
2. 객체(Object)
2.1 객체의 핵심은 기능을 제공하는 것
2.2 인터페이스와 클래스
2.3 메시지
3. 객체의 책임과 크기
4. 의존
4.1 의존의 양면성
5. 캡슐화
5.1 절차 지향 방식 코드
5.2 캡슐화 된 기능 구현
5.3 캡슐화의 결과는 내부 구현 변경의 유연성 획득
5.4 캡슐화를 위한 두 개의 규칙
6. 객체 지향 설계 과정

Chapter 03 다형성과 추상 타입
1. 상속 개요
2. 다형성과 상속
2.1 인터페이스 상속과 구현 상속
3. 추상 타입과 유연함
3.1 추상 타입과 실제 구현의 연결
3.2 추상 타입을 이용한 구현 교체의 유연함
3.3 변화되는 부분을 추상화하기
3.4 인터페이스에 대고 프로그래밍하기
3.5 인터페이스는 인터페이스 사용자 입장에서 만들기
3.6 인터페이스와 테스트

Chapter 04 재사용: 상속보단 조립
1. 상속과 재사용
1.1 상속을 통한 재사용의 단점 1, 상위 클래스 변경의 어려움
1.2 상속을 통한 재사용의 단점 2, 클래스의 불필요한 증가
1.3 상속을 통한 재사용의 단점 3, 상속의 오용
2. 조립을 이용한 재사용
2.1 위임
2.2 상속은 언제 사용하나?

Part 02 설계 원칙 / DI와 서비스 로케이터
Chapter 05 설계 원칙: SOLID
1. 단일 책임 원칙(Single responsibility principle)
1.1 단일 책임 원칙 위반이 불러오는 문제점
1.2 책임이란 변화에 대한 것
2. 개방 폐쇄 원칙(Open-closed principle)
2.1 개방 폐쇄 원칙이 깨질 때의 주요 증상
2.2 개방 폐쇄 원칙은 유연함에 대한 것
3. 리스코프 치환 원칙(Liskov substitution principle)
3.1 리스코프 치환 원칙을 지키지 않을 때의 문제
3.2 리스코프 치환 원칙은 계약과 확장에 대한 것
4. 인터페이스 분리 원칙(Interface segregation principle)
4.1 인터페이스 변경과 그 영향
4.2 인터페이스 분리 원칙
4.3 인터페이스 분리 원칙은 클라이언트에 대한 것
5. 의존 역전 원칙(Dependency inversion principle)
5.1 고수준 모듈이 저수준 모듈에 의존할 때의 문제
5.2 의존 역전 원칙을 통한 변경의 유연함 확보
5.3 소스 코드 의존과 런타임 의존
5.4 의존 역전 원칙과 패키지
6. SOLID 정리

Chapter 06 DI(Dependency Injection)와 서비스 로케이터
1. 어플리케이션 영역과 메인 영역
2. DI(Dependency Injection)을 이용한 의존 객체 사용
2.1 생성자 방식과 설정 메서드 방식
2.2 DI와 테스트
2.3 스프링 프레임워크 예
3. 서비스 로케이터를 이용한 의존 객체 사용
3.1 서비스 로케이터의 구현
3.2 서비스 로케이터의 단점

Part 03 07 주요 디자인 패턴
Chapter 07 주요 디자인 패턴
1. 디자인 패턴이란?
2. 전략(Strategy) 패턴
3. 템플릿 메서드(Template Method) 패턴
3.1 상위 클래스가 흐름 제어 주체
3.2 템플릿 메서드와 전략 패턴의 조합
4. 상태(State) 패턴
4.1 상태 변경은 누가?
5. 데코레이터(Decorator) 패턴
5.1 데코레이터 패턴을 적용할 때 고려할 점
6. 프록시(proxy) 패턴
6.1 프록시 패턴을 적용할 때 고려할 점
7. 어댑터(Adapter) 패턴
8. 옵저버(Observer) 패턴
8.1 옵저버 객체에게 상태 전달 방법
8.2 옵저버에서 주제 객체 구분
8.3 옵저버 패턴 구현의 고려 사항
9. 미디에이터(Mediator) 패턴
9.1 추상 미디에이터 클래스의 재사용
10. 파사드(Facade) 패턴
10.1 파사드 패턴의 장점과 특징
11. 추상 팩토리(Abstract Factory) 패턴
12. 컴포지트(Composite) 패턴
12.1 컴포지트 패턴 구현의 고려 사항
13. 널(Null) 객체 패턴

Appendix A 추천 자료
Index
[교보문고에서 제공한 정보입니다.]