닭발개발

[헤드퍼스트 디자인패턴] 32일차. 428-439pg 본문

책책책 책을 읽읍시다‼ ver.개발/[ 헤드퍼스트 디자인패턴 ]

[헤드퍼스트 디자인패턴] 32일차. 428-439pg

D269 2023. 6. 6. 12:29
728x90



32일차


헤드퍼스트 디자인패턴 [6주차_화요일]
428-439pg



요약


**CHAPTER 10. 객체의 상태 바꾸기 (feat. 상태패턴)**
전략패턴과 상태패턴은 꽤나 다르지만 밑 바탕의 설계는 거의 같다. 어릴적 헤어진 쌍둥이처럼

[ 새로운 디자인 구상 ]
기존코드를 그대로 활용, 상태 객체들을 별도의 코드에 넣고 어떤 행동이 일어나면 현재 상태 객체에서 필요한 작업을 처리
- state 인터페이스, state 클래스 구현
- 뽑기 기계 코드 : 상태 객체 사용하는 방식으로 변경
- 각 상태의 행동을 별개의 클래스로 국지화
- if 선언문들 없앰
- 각 상태들은 변경에는 닫혀있고, 뽑기기계 클래스는 새로운 상태 클래스를 추가하는 확장에는 열려있다. (OCP)











728x90
반응형