Command Pattern
- 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴
구조

- Invoker
- Command 객체 존재.
- Command 객체 안에 있는 execute 메소드 호출 하여 Command 동작 시킴
- Command
- 모든 Command 객체 에서 구현해야 하는 인터페이스
- 일반적으로 커맨드를 실행하기 위한 단일 메서드로 이루어짐.
- ConcreteCommand
- Receiver에 있는 메소드를 호출해 작업 수행 하게 함.
- Receiver에 있는 메서드를 실행하는 데 필요한 매개 변수들은 구상 커맨드의 필드들로 선언할 수 있음.
- Receiver
- 비즈니스 로직이 들어 있는 객체
- 실제 작업을 수행.
장점
- 단일책임의원칙 준수
- 개방/폐쇄 원칙 준수
- 실행/취소 구현 가능
- 지연 실행 가능
단점
- 복잡성 증가
참고
'지식 > 디자인패턴' 카테고리의 다른 글
| Head First Design Patterns : Facade Pattern (0) | 2024.01.29 |
|---|---|
| Head First Design Patterns : Adapter Pattern (0) | 2024.01.16 |
| Head First Design Patterns : Singleton Pattern (1) | 2024.01.01 |
| Head First Design Patterns : Factory Pattern (0) | 2023.12.31 |
| Head First Design Patterns : Decorator Pattern (1) | 2023.12.20 |