커맨드 패턴을 사용하면?

→ 요구사항을 객체로 캡슐화할 수 있다.

→ 매개변수를 통해 여러 가지 다른 요구 사항을 넣을수도 있다.

Command Pattern 구성

command pattern.png

Command interface

ConcreteCommand class

Invoker Class

Receiver Class

Client Class

정리

커맨드 객체는 일련의 행동특정 리시버하고 연결시킴으로써 요구 사항을 캡슐화한 것.

→ 연결 하기 위해서 행동(command interface를 상속받으므로써 생기는 것)과 리시버(ex== light같은 클래스를 구성(== has a)함으로써 만든다)를 한 객체에 집어넣고 execute라는 메소드만 공개해서 사용