Programming/디자인패턴
디자인 패턴1 - 전략 패턴
모종
2018. 5. 16. 00:26
반응형
학습 목표
- 인터페이스 개념
- 델리게이트 개념
- 전략 패턴 이해
인터페이스 : 기능의 선언과 구현으로 분리시킨다.
public interface Ainterface {
public void funcA(); //기능의 선언
}
public class AinterfaceImpl implements Ainterface{ //기능의 구현
public void funcA() {
System.out.println("A");
}
}
델리게이트 : 특정 객체의 기능을 사용하기 위해 다른 객체를 호출하는 것.
public class AObj {
private Ainterface inter;
public AObj() {
inter = new AinterfaceImpl();
}
public void funcA() { //다른 객체를 사용하여 구현하는 것. delegate:위임한다
inter.funcA();
}
}
전략 패턴 : 여러 알고리즘을 하나의 추상적인 접근점을 만들어 접근 점에서 서로 교환 가능하도록 하는 패턴.
(바뀌는 부분을 인터페이스로 분리하여 처리)
다음 클래스 다이어그램에 맞게 구현해보면서 이해해보자!!
[소스 : https://github.com/kimjongmo/DesignPattern/tree/master/00Strategy]
반응형