명령 패턴 (Command)

요청 자체를 캡슐화하는 것이다. 이를 통해 요청이 서로 다른 사용자(client)를 매개변수로 만들고, 요청을 대기시키거나 로깅하며, 되돌릴수 있는 연산을 지원한다.

명령 패턴은 메서드 호출을 실체화(reify)한 것이다.

  1. 명령을 캡슐화한다.
  2. 명령과 명령을 수행하는 액터를 디커플링하기 위해서는 명령에 액터를 전달해준다.
  3. InputHandler는 명령을 수행하는 액터가 가지는 컴포넌트이다. InputHandler는 액터를 알지 못한다.
  4. 그래서 InputHandler에서 명령 수행 액터를 참조하는 것이 아니라, 어떤 명령이 입력되었는가를 액터에 반환한다. 실제 실행은 액터에서 진행한다.

경량 패턴

관찰자

프로토타입

목차

1. 클래스 다이어그램 표기법

Untitled

Instantiator가 Instantiatee 객체를 인스턴스화

Abstract class(추상 클래스)는 모든 서브클래스 사이의 공통되는 인터페이스를 정의. Abstract class는 인스턴스를 생성할 수 없음. Abstract class가 아닌 클래스를 Concrete class(구체, 구상 클래스)라고 함.