728x90

실행될 기능 즉 객체의 행위를 캡슐화 하는 패턴으로 기느을 요청하는 호출자와 그 기능을 실행하는 수신자 클래스 사이의 의존성을 제거하는 패턴이다.

 

클래스

 

 

장점 

  • Invoker의 코드를 바꾸지 않고 execute 실행 메서드를 사용가능하다.

 

단점 

  • 코드의 복잡도가 증가한다 Command (기능)클래스가 많이 늘어난다.

 

Command 패턴 요소

 

Invoker

  • Command로 부터 기느을 실행해 달라고 요청하는 호출클래스

 

Command

  • ConcreteCommand의 실행 기능에 대한 인터페이스로 실행은execute , 취소는 undo 같은 메서드로 선언해준다.

 

ComcreteCommand

  • 실제로 실행되는 기능을 구현함

 

Receiver

  • ConcreteCommand에서 기느을 구현하기위해 필요한 클래스

 

728x90

+ Recent posts