java Command pattern 실습해보기
오늘은 자바로 Command 패턴을 실습해보았습니다.
실행 메소드를 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 해주는 패턴입니다.
코드
실습에는 배열에 기능 객체를 생성하여 넣어주고, for each문으로 실행하게 됩니다.
public interface Command {
String execute();
}
우선 인터페이스로 string 반환 메소드를 추상화합니다.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Command> test = new ArrayList<Command>();
test.add(new Command() {
@Override
public String execute() {
return "COM 1";
}
});
test.add(new Command() {
@Override
public String execute() {
return "COM 2";
}
});
test.add(new Command() {
@Override
public String execute() {
return "COM 3";
}
});
for (Command command : test) {
System.out.println(command.execute());
}
}
}
사용자가 보낸 요청을 나중에도 쓸 수 있게 arraylist를 만들어주고, 이 저장 공간에 add 메소드를 사용하여 객체를 넣습니다.
객체는 새로 생성하면서 가상함수로 오버라이딩하여 채워줍니다.
구현되면서 저장되므로 나중에 꺼내보면 넣은 객체의 순서대로 출력되게 됩니다.
Written on February 21, 2018