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 |
Tags
- 개발자
- IntelliJ
- 오브젝트
- 디자인패턴
- DesignPattern
- 책읽기
- 객체지향프로그래밍
- 헤드퍼스트디자인패턴
- 클린코드
- 헤드퍼스트
- 직장인
- 성수볼거리
- Java
- 주니어개발자
- 코딩
- JavaScript
- 깨끗한코드
- 성수핫플
- Linux
- 객체지향
- 독서
- 직장인점심
- docker
- 성수맛집
- 성수직장인
- JAVA개발자
- 상속
- 성수
- 독서일지
- 책너두
Archives
- Today
- Total
런타임노트
[헤드퍼스트 디자인패턴] 19일차. 257-271pg 본문
728x90
19일차
헤드퍼스트 디자인패턴 [4주차_월요일]
257-271pg
요약
CHAPTER 06. 호출 캡슐화하기 (feat. 커맨드 패턴)
메소드 호출을 캡슐화 한다.
[ 여러 동작을 한 번에 처리하기 - 리모컨에 파티모드 추가 ]
- 다른 커맨드를 실행할 수 있는 새로운 종류의 커맨드를 만들어서 여러가지 커맨드를 한 번에 실행할 수 있을까? → 매크로 커맨드 만들어보기
-
- 매크로에 넣을 일련의 커맨드 만들기
-
- on 커맨드 , off 커맨드용 배열을 만들고 필요한 커맨드를 넣는다.
-
- MacroCommand 객체를 버튼에 할당한다.
-
[ 커맨드 패턴 활용 - 요청을 큐에 저장하기 ]
- 커맨드로 computation의 한 부분을 패키지로 묶어서 일급 객체 형태로 전달 할 수 있다.
- 그러면 시간이 지나도 그 computation을 호출 할 수 있다.
- 큐 : 한 쪽 끝은 커맨드를 추가할 수 있고, 다른 쪽 끝에는 커맨드를 처리하는 스레드들이 대기하고 있다.
- 각 스레드는 우선 execute() 메소드를 호출하고 호출이 완료되면 커맨드객체를 버리고 새로운 커맨드 객체를 가져온다.
- 커맨드 패턴 더 활용하기 : 커맨드 패턴을 사용하면 store()와 load() 메소드를 추가해서 애플리케이션에서 모든 행동을 기록해두었다가 애플리케이션이 다운 되었을 때 다시 호출해서 복구할 수 있다.
[ 객체지향 패턴 추가++ ]
- 커맨드 패턴 : 요청 내역을 객체로 캡슐화해서 객체를 서로 다른 요청 내역에 따라 매개변수화 할 수 있습니다. 이러면 요청을 큐에 저장하거나 로그로 기록하거나 작업 취소 기능을 사용할 수 있다.
CHAPTER 07. 적응시키기 (feat. 어댑터 패턴과 퍼사드 패턴)
- 실제와 다른 인터페이스를 가진 것처럼 보이도록 객체를 감싸면, 특정 인터페이스가 필요한 디자인을 다른 인터페이스를 구현하는 클래스에 적응시킬 수 있다.
- 객체를 감싸서 인터페이스 단순화하기
발췌
💡 커맨드 객체에서 대부분의 행동을 처리해도 되지만, 그러면 인보커와 리시버를 분리하기 어렵고, 리시버로 커맨드를 매개변수화할 수 없다!
💡 요청하는 객체와 요청을 수행하는 객체를 분리하고 싶다면 커맨드 패턴을 사용하면 된다.
728x90
반응형
'책책책 책을 읽읍시다‼ ver.개발 > [ 헤드퍼스트 디자인패턴 ]' 카테고리의 다른 글
| [헤드퍼스트 디자인패턴] 21일차. 284-293pg (0) | 2023.05.18 |
|---|---|
| [헤드퍼스트 디자인패턴] 20일차. 272-283pg (0) | 2023.05.18 |
| [헤드퍼스트 디자인패턴] 18일차. 240-256pg (0) | 2023.05.17 |
| [헤드퍼스트 디자인패턴] 17일차. 227-239pg (0) | 2023.05.17 |
| [헤드퍼스트 디자인패턴] 16일차. 217-226pg (0) | 2023.05.11 |