Tech Collection

[Design Pattern] Command Pattern 본문

Concept/Design Pattern

[Design Pattern] Command Pattern

eee_269 2021. 5. 30. 22:14
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