반응형

스트래티지 패턴은 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 이것을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.


디자인의 원칙

1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다. 바뀌는 부분을 따로 뽑아서 캡슐화 시키면, 나중에 바뀌지 않는 부분에는 영향을 미치지 않은 채로 그 부분만 고치거나 확장할 수 있다.

2.구현이 아닌 인터페이스에 맞춰서 프로그래밍을 한다. 클래스나 서브 클래스에서 구현을 하지않고 인터페이스를 사용하면 특정 구현에 의존하지 않고 자유롭게 변경할 수 있다.

3. 상속보다는 구성을 활용한다. 상속이 아닌 두 클래스를 합치는 구성을 이용하여 시스템의 유연성을 향상시키고 실행시에 행동을 바꿀 수도 있다.


스트래티지 패턴에 자세한 설명과 코드는 다음 링크에 잘나와 있어서 생략한다.

http://warmz.tistory.com/750

http://www.gurubee.net/pages/viewpage.action?pageId=1507368

참고 : Head First Design Pattern

반응형

+ Recent posts