본문 바로가기

Development Note

RTP : 어떻게 정리를 하게 될 것인가?

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
아래와 같은 목차로 책이 구성이 되어있다.
1~5장까지는 전체적인 책에 대한 기본 지식들을 전달하고 있으며,
실제 리팩토링 패턴에 대해서는 6장부터 나오게 된다.

한장씩 또는 연관성 있는 다른 장과 같이 읽고 소감 및 정리를 해보고자 한다.

1장. 이 책을 쓴 이유
과도한 설계
패턴 만능주의
미진한 설계
테스트 주도 개발과 지속적인 리팩터링
리팩터링과 패턴
발전적 설계

2장. 리팩터링
리팩터링이란?
리팩터링을 하는 이유
많은 눈
사람이 읽기 쉬운 코드
깔끔하게 유지하기
작은 단계
설계 부채
새로운 아키텍처 발전시키기
복합 리팩터링과 테스트 주도 리팩터링
복합 리팩터링의 장점
리팩터링 도구

3장 패턴
패턴이란?
패턴 중독
패턴을 구현하는 다양한 방법
패턴 목표, 패턴 지향, 패턴 제거 리팩터링
패턴은 코드를 더 복잡하게 만드는가?
패턴 지식
패턴을 이용한 사전 설계

4장. 코드 속의 냄새
중복된 코드
긴 메서드
복잡한 조건문
기본 타입에 대한 강박관념
추잡한 노출
문어발 솔루션
인터페이스가 서로 다른 대체 클래스
게으른 클래스
거대한 클래스
Switch 문
조합의 폭발적 증가
괴짜 솔루션

5장. 패턴을 고려한 리팩터링 카탈로그
리팩터링 형식
카탈로그에서 참조한 프로젝트
시작점
학습 순서

6장 생성
Replace Constructors with Creation Methods
Move Creation Knowledge to Factory
Encapsulate Classes with Factory
Introduce Polymorphic Creation with Factory Method
Encapsulate Composite with Builder
Inline Singleton

7장 단순화
Compose Method
Replace Conditional Logic with Strategy
Move Embellishment to Decorator
Replace State-Altering Conditionals with State
Replace Implicit Tree with Composite
Replace Conditional Dispatcher with Command

8장 일반화
Form Template Method
Extract Composite
Replace One/Many Distinction with Composite
Replace Hard-Coded Notifications with Observer
Unify Interfaces with Adapter
Extract Adapter
Replace Implicit Language with Interpreter

9장 보호
Replace Type Code with Class
Limit Instantiation with Singleton
Introduce Null Object

10장 축적
Move Accumulation to Collecting Parameter
Move Accumulation to Visitor

11장. 유틸리티
Chain Constructor
Unify Interfaces
Extract Parameter