작성
·
251
답변 1
0
제가 생각하는 light.on() 같이 Reciver의 메소드를
직접 호출하는 게 아닌 반대 성격의 command에게 위임하는 행위의 장점은 변경이 더 최소화 된다는 것 같습니다.
light.on() API의 시그니처가 변경되면
기존 LightOffCommand의 undo 기능이
LightOnCommand의 execute를 통해서 실행되기 때문에 LightOnCommand의 execute()만 변경하지만
직접 on()을 호출하면 담당하는 Command와 반대 성격의 Command undo 부분 2가지 모두 변경해야 하기 때문입니다.