프로젝트

일반

사용자정보

6장. Command Pattern

Prof. Jong Min Lee이(가) 14일 전에 추가함

6장. Command Pattern


답글 (1)

Command 패턴 클래스 역할 및 기능 - Prof. Jong Min Lee이(가) 9일 전에 추가함

Command 패턴 클래스 역할 및 기능

Command 패턴은 요청을 객체로 캡슐화하여 실행 요청을 다양하게 처리할 수 있도록 하는 행동(Behavioral) 디자인 패턴입니다. 주요 클래스 역할은 다음과 같습니다:

클래스 역할과 기능

클래스 역할 기능 설명
Command 명령을 정의하는 인터페이스 또는 추상 클래스. execute() 메서드를 선언하여 ConcreteCommand가 이를 구현하도록 함.
ConcreteCommand 실제 명령을 구현하는 클래스. 실제 작업을 수행하는 객체를 호출하여 인터페이스에 선언된 오퍼레이션을 구현함. (또는 execute() 메서드에서 Receiver의 작업을 호출함) Receiver 객체를 참조함.
Receiver 명령이 수행될 대상 객체. 실제 비즈니스 로직을 포함하며, ConcreteCommand가 호출하는 메서드를 제공함.
Invoker 명령을 요청하는 객체. Command 객체를 저장하고 execute()를 호출하여 명령을 실행함.
Client Command, Receiver, Invoker를 생성하고 연결하는 역할. 어떤 명령을 수행할지 결정하고 Invoker에 전달함.

예시 시나리오

리모컨으로 전등을 켜는 상황을 예로 들면:

  • Command: 리모컨 버튼이 눌렸을 때 실행할 명령의 인터페이스
  • ConcreteCommand: 전등을 켜는 명령을 구현
  • Receiver: 전등 객체, 실제로 켜는 기능을 수행
  • Invoker: 리모컨, 버튼을 눌러 명령을 실행
  • Client: 리모컨에 전등 켜기 명령을 설정하는 사용자

활용 예

  • 실행 취소(Undo) 기능
  • 작업 큐
  • 트랜잭션 처리
  • 매크로 명령 구성
    (1-1/1)