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
- Linux
- 객체지향프로그래밍
- Java
- 책너두
- 클린코드
- JavaScript
- 성수핫플
- IntelliJ
- 코딩
- 주니어개발자
- 상속
- JAVA개발자
- 깨끗한코드
- 직장인점심
- 헤드퍼스트
- 객체지향
- 개발자
- 오브젝트
- 성수직장인
- 독서
- docker
- 직장인
- 성수볼거리
- DesignPattern
- 책읽기
- 디자인패턴
- 성수맛집
- 독서일지
- 성수
- 헤드퍼스트디자인패턴
Archives
- Today
- Total
닭발개발
[헤드퍼스트 디자인패턴] 33일차. 440-452pg 본문
728x90
33일차
헤드퍼스트 디자인패턴 [6주차_수요일]
440-452pg
요약
**CHAPTER 10. 객체의 상태 바꾸기 (feat. 상태패턴)**
전략패턴과 상태패턴은 꽤나 다르지만 밑 바탕의 설계는 거의 같다. 어릴적 헤어진 쌍둥이처럼
[ 상태 패턴(State Pattern) 정의 ]
- 상태 패턴을 사용하면 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있다.
- 상태를 별도의 클래스로 캡슐화한 다음 현재 상태를 나타내는 객체에게 행동을 위임하므로 내부 상태가 바뀔 때 행동이 달라지게 된다는 사실을 쉽게 알 수 있다.
- 마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있다.
[ 상태 패턴 vs 전략 패턴 ]
상태 패턴 | 상태 객체에 일련의 행동이 캡슐화 된다. |
Context 객체를 생성할 때 초기 상태를 지정해줘도 되지만 그렇게 해도 그 후로는 그 Context 객체가 알아서 자기 상태를 변경한다. | |
Context 객체는 미리 정해진 상태 전환 규칙에 따라 알아서 자기 상태를 변경한다. -> 따라서 원래 상황에 맞게 상태를 바꾸는 걸 염두에 둔 디자인. | |
전략 패턴 | 어떤 클래스의 인스턴스를 만들고 그 인스턴스에게 어떤 행동을 구현하는 전략 객체를 건내준다. |
객체가 상태를 변경하는 것을 장려하지 않음 | |
객체에서 어떤 전략을 사용하는지는 직접 결정한다. |
[ 정상성 점검(sanity check) ]
- 최종 프로젝트를 납품하기 전 마지막으로 체크해야 할 사항 점검하기.
(중복된 코드, 항상 호출되는 메소드에 대해,...)
728x90
반응형
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
[헤드퍼스트 디자인패턴] 35일차. 464-474pg (2) | 2023.06.09 |
---|---|
[헤드퍼스트 디자인패턴] 34일차. 453-463pg (0) | 2023.06.08 |
[헤드퍼스트 디자인패턴] 32일차. 428-439pg (0) | 2023.06.06 |
[헤드퍼스트 디자인패턴] 31일차. 415-427pg (2) | 2023.06.06 |
[헤드퍼스트 디자인패턴] 30일차. 399-414pg (0) | 2023.06.06 |