2014/07/15

    [Design Pattern] Strategy pattern

    [Design Pattern] Strategy pattern

    Strategy Pattern에 대해 한번 알아봅시다. Strategy Pattern의 기본적인 정의는 아래와 같습니다.알고리즘 군을 정의하고 각각을 캡슐화 하여 교환해서 사용할 수 있도록 만든 패턴으로 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘이 변경 가능하다. 말이 쉬우면서도 어렵다. 알고리즘 군을 정의하고 그것을 캡슐화(?)하여 교환해서 사용하도록 만든 것이라고 한다.이걸 좀 더 쉽게 풀어서 생각하여 보자. 알고리즘 군이란 것이 무엇일까? 우리가 어떠한 클래스를 설계할 때 변경되는 부분이라고 생각하면 쉽다. 클래스 설계 시 기능(Method명)은 같지만 표현방식(구현/알고리즘)이 다른 Method들이 있다. 예를 들어 Animal이라는 클래스가 있고, 이 클래스에 cry라는 method가..