일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- spring
- Project
- MariaDB
- 프로젝트
- IntelliJ
- JPA
- jdk11
- Java
- 디자인패턴
- AWS
- 코딩테스트
- 자취
- SpringBoot
- 스프링
- 코테
- coding test
- gradle
- 공유DB
- ps
- React
- 백준
- spring boot
- JDK
- 팀프로젝트
- 자바
- Controller
- MVC
- 취준생
- 입출력
- javascript
Archives
- Today
- Total
Tech Collection
[Design Pattern] Command Pattern 본문
728x90
반응형
커맨드 패턴
- 요청 내역을 객체로 캡슐화하여 클라이언트를 서로 다른 요청 내역에 따라 매개변수화 할 수 있다.
- 요청을 큐에 저장하거나 로그로 기록할 수도 있고 작업 취소 기능을 지원할 수도 있다.
- 명령을 내리는 클래스는 실제 액션이 어떻게 통하는지 몰라도 되게 하는 것
- Invoker
- execute() 메소드 호출해서 커맨드 객체에게 특정 작업을 수행해 달라는 요구를 하게 된다.
- Receiver
- 요구사항을 수행하기 위해 어떤 일을 처리해야 하는 지 알고 있는 객체
- 메타 커맨드 패턴
- 명령들로 이루어진 매크로를 만들어서 여러개의 명령을 한 번에 실행
- 매크로
- command의 배열을 가진 또 다른 ConcreteCommand를 정의하여 invoker에 세팅
- execute()에서 반복문을 통해 들고 있는 모든 command들의 execute()를 호출한다.
- 실행 취소 기능은 반복문을 통해 들고 있는 모든 command들의 undo()를 호출한다.
728x90
반응형
'Concept > Design Pattern' 카테고리의 다른 글
[Design Pattern] Iterator Pattern (0) | 2021.05.30 |
---|---|
[Design Pattern] Template Method Pattern (0) | 2021.05.30 |
[Design Pattern] Facade Pattern (0) | 2021.05.30 |
[Design Pattern] Adapter Pattern (0) | 2021.05.30 |
[Design Pattern] State Pattern (0) | 2021.05.30 |