Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 책읽기
- 성수
- 직장인
- 상속
- 객체지향프로그래밍
- 코딩
- IntelliJ
- 주니어개발자
- 성수핫플
- 독서일지
- 성수볼거리
- 헤드퍼스트
- 성수직장인
- JavaScript
- 헤드퍼스트디자인패턴
- Linux
- 오브젝트
- 디자인패턴
- 직장인점심
- 성수맛집
- JAVA개발자
- DesignPattern
- 책너두
- 클린코드
- 독서
- 객체지향
- Java
- 개발자
- docker
- 깨끗한코드
Archives
- Today
- Total
닭발개발
[헤드퍼스트 디자인패턴] 4일차. 56-69p 본문
728x90
요약
- 동적으로 행동 지정하기 : 움직이는 오리 만들기 실행 중에 오리의 행동을 바꾸고 싶으면 원하는 행동에 해당하는 Duck의 세터 메소드를 호출합니다.
- 캡슐화된 행동 살펴보기 클래스 다이어그램에 있는 각 화살표와 클래스들이 어떤 관계인지, 직접 연필로 써보는 게 중요하다.
- "A에는 B가 있다" 각 오리에는 FlyBehavior와 QuackBehavior가 있으며, 각각 나는 행동, 꽦꽥 행동을 위임받는다. -> 이렇게 두 클래스를 합치는 것 : '구성(composition)을 이용한다.' 라고 한다.
디자인 원칙3: 상속보다는 구성을 활용한다. -> 유연성을 향상시킬 수 있음.
첫 번째 디자인 패턴 : 전략패턴 : 알고리즘군을 정의하고 캡술화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해준다. 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있다.
패턴과 전문 용어
- 서로 알고 있는 패턴은 막강하다.
- 패턴을 사용하면 간단한 단어로 많은 얘기를 할 수 있다.
- 패턴 수준에서 이야기하면 '디자인'에 더 오래 집중할 수 있다.
디자인 패턴 사용법
- 라이브러리나 프레임워크가 도와주지 못하는 부분을 도와주는 것이 바로 디자인 패턴이다.
일단 패턴을 완전히 읽혀두면, 어떤 코드가 유연성 없이 엉망으로 꼬여있는 스파게티 코드라는 사실을 알 수 있다.
나의 객체지향 도구상자
- 객체지향 기초 (추상화 캡슐화 다형성 상속)
- 객체지향 원칙
- 객체지향 패턴 - 전략패턴
발췌
💡 첫 번째 디자인 패턴 : 전략패턴 : 알고리즘군을 정의하고 캡술화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해준다. 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있다
메모
디자인 패턴은 개발자 사이에서 서로 모두 이해할 수 있는 용어를 재공한다. 패턴 수준에서 생각 할 수 있기 때문에 아키텍처를 생각하는 수준도 끌어올려준다.
728x90
반응형
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
[헤드퍼스트 디자인패턴] 6일차. 87-101p (0) | 2023.05.02 |
---|---|
[헤드퍼스트 디자인패턴] 5일차. 70-86p (0) | 2023.04.29 |
[헤드퍼스트 디자인패턴] 3일차. 41-55p (0) | 2023.04.27 |
[헤드퍼스트 디자인패턴] 2일차. 26~40p (1) | 2023.04.25 |
[헤드퍼스트 디자인패턴] 1일차. 독서전략 (0) | 2023.04.25 |