GoF 디자인 패턴 이렇게 활용하기.지난 몇 년전에 프로그램을 공부한 기본 바탕으로 지금까지 직장에서 사용해 왔다.
수년이 흐르는 동안 내가 사용했 것 들이 당연이시 하고 무작성 사용해왔던 것 같다.
간단한 내용인데 가끔 어?라는 생각이 들었다. 당연시 되어 왔던 것들이 생각없이
지난날들을 뒤돌아 보면서 다시 공부하고 좀더 구체적으로 논리적으로 정리 할
필요성을 느끼며, 책 한권을 통해 좀더 구체적이고 도움이 되고자 정리를 하고자 한다.
PART 1. 소프트웨어 개발과 디자인 패턴
CHAPTER 1. 소프트웨어 개발과 WHAT-WHY-HOW 생각 모델
소프트웨어 개발 기준 개념 또는 철학
소프트웨어 개발 과정
최적의 해결책
WHAT-WHY-HOW 생각 모델
CHAPTER 2. 소프트웨어 설계 및 디자인 패턴
소프트웨어 설계
좋은 소프트웨어 설계의 특성
좋은 소프트웨어를 설계하기 위한 도구
디자인 패턴의 정의 및 유용성
디자인 패턴 이해와 활용을 위한 이 책의 접근 방법
PART 2. 객체 생성을 위한 디자인 패턴
CHAPTER 3. 제품군별 객체 생성 문제 : ABSTRACT FACTORY 패턴
문제 사례 설명
다양한 접근 방법 및 ABSTRACT FACTORY 패턴
기본적인 방법: 조건 비교 방식
좀더 나은 방법: 객체 생성 전담 클래스 활용 방식
패턴 활용 방법: ABSTRACT FACTORY 패턴
샘플 코드
구현 관련 사항
SINGLETON 패턴을 활용한 구현
PROTOTYPE 패턴을 활용한 구현
새로운 제품 종류의 추가시 문제 해결 방법
ABSTRACT FACTORY 패턴 정리
CHAPTER 4. 부분 부분 생성을 통한 전체 객체 생성 문제 : BUILDER 패턴
문제 사례 설명
다양한 접근 방법 및 BUILDER 패턴
기본적인 방법: 함수 형태 접근 방식
좀더 나은 방법: 번역 전담 클래스 활용 방식
패턴 활용 방법: BUILDER 패턴
샘플 코드
구현 관련 사항
BUILDER 패턴 정리
CHAPTER 5. 대행 함수를 통한 객체 생성 문제 : FACTORY METHOD 패턴
문제 사례 설명
다양한 접근 방법 및 FACTORY METHOD 패턴
기본적인 방법: 클래스별 멤버 함수 구현 방식
패턴 활용 방법: FACTORY METHOD 패턴
샘플 코드
구현 관련 사항
FACTORY METHOD 패턴 정리
CHAPTER 6. 복제를 통한 객체 생성 문제 : PROTOTYPE 패턴
문제 사례 설명
다양한 접근 방법 및 PROTOTYPE 패턴
기본적인 방법: 직접적인 객체 생성 방식
좀더 나은 방법: 객체 생성 대행 함수 활용 방식
패턴 활용 방법: PROTOTYPE 패턴
샘플 코드
구현 관련 사항
PROTOTYPE 패턴 정리
CHAPTER 7. 최대 N개로 객체 생성을 제한하는 문제 : SINGLETON 패턴
문제 사례 설명
다양한 접근 방법 및 SINGLETON 패턴
기본적인 방법: 전역 변수에 의한 객체 생성, 관리
패턴 활용 방법: SINGLETON 패턴
샘플 코드
구현 관련 사항
SINGLETON 패턴 정리
CHAPTER 8. 객체 생성을 위한 디자인 패턴 정리
PART 3. 구조 개선을 위한 디자인 패턴
CHAPTER 9. 기존 모듈 재사용을 위한 인터페이스 변경 문제 : ADAPTER 패턴
문제 사례 설명
다양한 접근 방법 및 ADAPTER 패턴
기본적인 방법: CLIENT에 의한 구분 사용
패턴 활용 방법: ADAPTER 패턴
샘플 코드
구현 관련 사항
ADAPTER 패턴 정리
CHAPTER 10. 인터페이스와 구현의 명확한 분리 문제 : BRIDGE 패턴
문제 사례 설명
다양한 접근 방법 및 BRIDGE 패턴
기본적인 방법: #IFDEF ~ #ELSE ~ #ENDIF 적용 방식
좀더 나은 방법: 플랫폼별 하위 클래스 정의
패턴 활용 방법: BRIDGE 패턴
샘플 코드
구현 관련 사항
BRIDGE 패턴 정리
CHAPTER 11. 부분-전체 관계 구조 취급 문제 : COMPOSITE 패턴
문제 사례 설명
다양한 접근 방법 및 COMPOSITE 패턴
기본적인 방법: 서로 다른 자료형을 활용 방식
패턴 활용 방법: COMPOSITE 패턴
샘플 코드
구현 관련 사항
COMPOSITE 패턴 정리
CHAPTER 12. 특정 객체의 기능 동적 추가, 삭제 문제 : DECORATOR 패턴
문제 사례 설명
다양한 접근 방법 및 DECORATOR 패턴
기본적인 방법: 클래스 재정의를 통한 객체 기능 조정 방법
또 다른 방법: 클래스 상속을 통한 객체 기능 조정 방법
패턴 활용 방법: DECORATOR 패턴
샘플 코드
구현 관련 사항
DECORATOR 패턴 정리
CHAPTER 13. 명확한 서브시스템 정의 문제 : FACADE 패턴
문제 사례 설명
다양한 접근 방법 및 FACADE 패턴
기본적인 방법: 클래스들의 직접 활용 방법
좀더 나은 방법: PROXY 패턴
패턴 활용 방법: FACADE 패턴
샘플 코드
구현 관련 사항
FACADE 패턴 정리
CHAPTER 14. 객체의 공유 문제 : FLYWEIGHT 패턴
문제 사례 설명
다양한 접근 방법 및 FLYWEIGHT 패턴
기본적인 방법: 화면 관리 객체 정의 및 활용 방식
패턴 활용 방법: FLYWEIGHT 패턴
샘플 코드
구현 관련 사항
FLYWEIGHT 패턴 정리
CHAPTER 15. 대리 객체를 통한 작업 수행 문제 : PROXY 패턴
문제 사례 설명
다양한 접근 방법 및 PROXY 패턴
기본적인 방법: 단순 캐싱 방식
패턴 활용 방식: PROXY 패턴
샘플 코드
구현 관련 사항
PROXY 패턴 정리
CHAPTER 16. 구조 개선을 위한 디자인 패턴 정리
PART 4. 행위 수행 개선을 위한 디자인 패턴
CHAPTER 17. 수행 가능 객체까지 요청 전파 문제 : CHAIN OF RESPONSIBILITY 패턴
문제 사례 설명
다양한 접근 방법 및 CHAIN OF RESPONSIBILITY 패턴
기본적인 방법: 전담 객체 정의 방식
패턴 활용 방식: CHAIN OF RESPONSIBILITY 패턴
샘플 코드
구현 관련 사항
CHAIN OF RESPONSIBILITY 패턴 정리
CHAPTER 18. 수행할 작업의 일반화 문제 : COMMAND 패턴
문제 사례 설명
다양한 접근 방법 및 COMMAND 패턴
기본적인 방법: 요청 종류에 따른 분기 방식
패턴 활용 방식: COMMAND 패턴
샘플 코드
구현 관련 사항
COMMAND 패턴 정리
CHAPTER 19. 간단한 문법에 기반한 검증 및 작업 처리 문제 : INTERPRETER 패턴
문제 사례 설명
다양한 접근 방법 및 INTERPRETER 패턴
기본적인 방법: 각각 독립된 클래스를 통한 구현 방식
패턴 활용 방식: INTERPRETER 패턴
샘플 코드
구현 관련 사항
INTERPRETER 패턴 정리
CHAPTER 20. 동일 자료형의 여러 객체에 대한 순차적 접근 문제 : ITERATOR 패턴
문제 사례 설명
다양한 접근 방법 및 ITERATOR 패턴
기본적인 방법: 리스트 자체를 클래스로 정의하는 방법
패턴 활용 방식: ITERATOR 패턴
샘플 코드
구현 관련 사항
ITERATOR 패턴 정리
CHAPTER 21. 복잡한 M:N 객체 관계의 완화 문제 : MEDIATOR 패턴
문제 사례 설명
다양한 접근 방법 및 MEDIATOR 패턴
기본적인 방법: M:N 관계 적용 방식
패턴 활용 방식: MEDIATOR 패턴
샘플 코드
구현 관련 사항
MEDIATOR 패턴 정리
CHAPTER 22. 객체의 이전 상태 복원 문제 : MEMENTO 패턴
문제 사례 설명
다양한 접근 방법 및 MEMENTO 패턴
기본적인 방법: 계산을 통한 이전 상태 복원 방식
패턴 활용 방식: MEMENTO 패턴
샘플 코드
구현 관련 사항
MEMENTO 패턴 정리
CHAPTER 23. ONE SOURCE MULTIPLE USE 문제 : OBSERVER 패턴
문제 사례 설명
다양한 접근 방법 및 OBSERVER 패턴
기본적인 방법: 원본 데이터에 대한 직접적인 참조 방식
패턴 활용 방식: OBSERVER 패턴
샘플 코드
구현 관련 사항
OBSERVER 패턴 정리
CHAPTER 24. 객체 상태 추가에 따른 행위 수행 변경 문제 : STATE 패턴
문제 사례 설명
다양한 접근 방법 및 STATE 패턴
기본적인 방법: 상태 비교에 따른 행위 변경 방식
패턴 활용 방식: STATE 패턴
샘플 코드
구현 관련 사항
STATE 패턴 정리
CHAPTER 25. 동일 목적 알고리즘의 동적 적용 문제 : STRATEGY 패턴
문제 사례 설명
다양한 접근 방법 및 STRATEGY 패턴
기본적인 방법: 분기문에 의한 알고리즘 선택 적용 방식
패턴 활용 방식: STRATEGY 패턴
샘플 코드
구현 관련 사항
STRATEGY 패턴 정리
CHAPTER 26. 알고리즘 기본 골격 재사용과 상세 구현 변경 문제 : TEMPLATE METHOD 패턴
문제 사례 설명
다양한 접근 방법 및 TEMPLATE METHOD 패턴
기본적인 방법: 서로 독립된 클래스 활용 방식
패턴 활용 방식: TEMPLATE METHOD 패턴
샘플 코드
구현 관련 사항
TEMPLATE METHOD 패턴 정리
CHAPTER 27. 작업 종류를 효율적으로 추가, 변경 문제 : VISITOR 패턴
문제 사례 설명
다양한 접근 방법 및 VISITOR 패턴
기본적인 방법: 작업 대상 클래스의 변경, 확장 방식
패턴 활용 방식: VISITOR 패턴
샘플 코드
구현 관련 사항
VISITOR 패턴 정리
CHAPTER 28. 행위 수행 개선을 위한 디자인 패턴 정리
PART 5. 디자인 패턴 활용
CHAPTER 29. 디자인 패턴 요약 정리
CHAPTER 30. 디자인 패턴 활용
'프로그램언어 > GoF' 카테고리의 다른 글
Factory Method 패턴 < 작성중 > (0) | 2008.08.06 |
---|---|
Build 패턴 (0) | 2008.07.25 |