| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 성수직장인
- JavaScript
- 헤드퍼스트
- 독서
- Linux
- 상속
- 책너두
- 성수볼거리
- 클린코드
- 성수
- 오브젝트
- 객체지향
- docker
- 성수핫플
- 헤드퍼스트디자인패턴
- DesignPattern
- 개발자
- 직장인
- 주니어개발자
- IntelliJ
- 독서일지
- 책읽기
- Java
- 코딩
- 성수맛집
- JAVA개발자
- 객체지향프로그래밍
- 깨끗한코드
- 디자인패턴
- 직장인점심
- Today
- Total
런타임노트
[헤드퍼스트 디자인패턴] 46일차. 610-621pg | 패턴을 적절하게 사용하자 본문
[헤드퍼스트 디자인패턴] 46일차. 610-621pg | 패턴을 적절하게 사용하자
D269 2023. 6. 23. 18:52
46일차
헤드퍼스트 디자인패턴 [8주차_목요일]
610-621pg
요약
**CHAPTER 13. 패턴과 행복하게 살아가기 (feat. 실전 디자인 패턴)**
실전에서 디자인 패턴 활용하기
[ 디자인 패턴 범주 - 1 ]
1. 생성 패턴(Creational Pattern)
싱글턴, 추상팩토리, 팩토리 메소드 패턴
2. 행동 패턴(Behavioral Pattern)
템플릿 메소드, 싱글턴, 반복자, 옵저버, 상태, 전략패턴
3. 구조 패턴(Structural Pattern)
데코레이터, 컴포지트, 프록시, 퍼사드, 어댑터 패턴
[ 디자인 패턴 범주 - 2 : 클래스를 다루는 패턴인지, 객체를 다루는 패턴인지에 따라 분류 ]
1. 클래스 패턴(Class Pattern) : 클래스 사이의 관계가 상속으로 어떻게 정의되는지를 다룹니다. 클래스 사이의 관계는 대부분 컴파일 할 때 결정됩니다.
- 템플릿 메소드, 팩토리 메소드, 어댑터 패턴
2. 객체 패턴(Object Patterns) : 객체 사이의 관계를 다루며, 객체 사이의 관계는 보통 구성으로 정의된다. 일반적으로 실행 중에 관계가 결정되므로 보다 동적이고 유연하다.
- 컴포지트, 데코레이터, 프록시, 전략, 퍼사드, 커맨드, 반복자, 옵저버, 상태, 프로토타입, 추상 팩토리, 싱글턴 패턴.
-> 패턴 분류보다 중요한 것은 패턴을 제대로 이해하고, 여러 패턴 사이의 관계를 확실히 파악하는 일.
-> 패턴을 분류한 이유?
몇 가지 범주로 나눠 놓으면 각각을 조금 더 추상적인수준에서 생각하는 데 도움이 된다. 또 일련의 패턴 그룹 사이의 관계나 같은 그룹 내에 있는 패턴 사이의 관계를 생각해 볼 수도 있다.
[ 패턴으로 생각하기: 패턴으로 생각하는 데 있어서 도움이 될 만한 내용 ]
1. 최대한 단순하게(KISS, Keep It Simple) : "어떻게 하면 단순하게 해결할 수 있을까?"에 초점.
2. 디자인패턴은 만병통치약이 아니다. :패턴을 사용할 때는 여러분이 설계한 디자인에 미칠 영향과 결과를 주의 깊게 생각해야 한다.
3. 패턴이 필요할 때 : 디자인을 할 때, 지금 디자인상의 문제에 적합하다는 확신이 든다면 패턴을 도입해야 한다.
간단한 해결책으로 문제가 해결되는 데도 시스템의 어떤 부분이 변경될 거라고 예측되는 상황에는 디자인 패턴을 적용해야 한다.
4. 리팩터링과 패턴 : 리팩터링의 목적은 행동 변경이 아니라 구조 개선에 있다.
5. 꼭 필요하지 않은 패턴은 빼버린다. 지금 있는 디자인에서 디자인 패턴을 제거하는 일을 두려워하지 마세요. : 패턴보다 간단한 해결책이 더 나을 것 같다 싶을 때 패턴을 제거.
6. 꼭 필요하지 않은 패턴을 미리 적용할 필요는 없다.
[ 패턴을 대하는 마음가짐 ]
- 초보자 : 언제나 패턴을 사용해야지
- 중급자 : 어떤 상황에 패턴이 필요하고 필요하지 않은지 파악 가능
- 그랜드 마스터 : 패턴을 자연스럽게 구사할 수 있다.
[ 용어를 공유하는 5가지 방법 ]
1. 디자인 회의에서
2. 다른 개발자들과 토론할 때
3. 아키텍처 문서에
4. 코드 주석을 달 때, 클래스와 메소드 이름을 만들 때
5. 개발자 모임에서
발췌
필살기는 함부로 쓰면 안된다. 디자인 패턴은 도구에 불과하다. 필요할 때만 써야 하는 도구.
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
| [헤드퍼스트 디자인패턴] 48일차. 636-649pg | 다양한 다른 패턴들 (0) | 2023.06.25 |
|---|---|
| [헤드퍼스트 디자인패턴] 47일차. 622-635pg | 다양한 패턴들 (0) | 2023.06.23 |
| [헤드퍼스트 디자인패턴] 45일차. 599-609pg | 패턴 카탈로그, 새로운 디자인패턴 발견하기 (0) | 2023.06.21 |
| [헤드퍼스트 디자인패턴] 44일차. 580-598pg | 실전 디자인 패턴 시작 (0) | 2023.06.21 |
| [헤드퍼스트 디자인패턴] 43일차. 565-579pg | MVC (0) | 2023.06.19 |