2020년 7월 8일 수요일

GOF Design Pattern - Strategy





설명


 알고리즘 같은 하나의 메소드가 조금씩 다른 버전이 많은 경우, 

 이를 하나하나 다르게 한 서브클래스를 만드는 것은 낭비이다.

 그럴때 이런 알고리즘만 따로 떼놓아 상속의 장점을 살려 같은 인터페이스를 사용하는 것.

 이때 context 는 ConcreteStrategy 만 바꾸면 되기 때문에 재활용성이 큼.

 
 
 문제는 사용자가 어떤 알고리즘이 있는지 즉 작동원리를 알고 있어야한다는 점.



예제 코드

 코드 필요없을 듯.



추가 설명

 Strategy 객체 풀은 Flyweight 로 구현하는게 좋음.

댓글 없음:

댓글 쓰기

List