[디자인패턴] 커맨드(Command) 패턴이란?
·
공부/소프트웨어공학
Command 패턴은 Behavioral Design Pattern이다. 전등을 키는 버튼을 만든다고 해보자위와 같은 시스템에서 버튼을 눌렀을 때 Lamp가 아니라 Alarm이 켜지도록 하려면 어떻게 해야 하는가? 🤔또는 버튼이 한 번 눌리면 Lamp가 켜지고 두 번 눌리면 Lamp가 꺼지도록 하려면 어떻게 해야 하는가? 🤔➡️ 기존 코드의 Button(theLamp: Lamp)를 Button(theAlarm: Alarm)으로 변경해야 한다. OCP 위반 OCP를 만족하도록변화를 식별한다. 이번 경우에는 request다. 변화하는 것을 클래스로 분리한다. LampOnCommand, AlarmStartCommand변화하는 개념을 포용하는 개념을 추상 클래스나 인터페이스화한다. Command의 등장!2번..