모종닷컴

디자인 패턴1 - 전략 패턴 본문

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]

[출처 : https://www.youtube.com/watch?v=UEjsbd3IZvA]

반응형