반응형
스트래티지 패턴은 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 이것을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.
디자인의 원칙
1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다. 바뀌는 부분을 따로 뽑아서 캡슐화 시키면, 나중에 바뀌지 않는 부분에는 영향을 미치지 않은 채로 그 부분만 고치거나 확장할 수 있다.
2.구현이 아닌 인터페이스에 맞춰서 프로그래밍을 한다. 클래스나 서브 클래스에서 구현을 하지않고 인터페이스를 사용하면 특정 구현에 의존하지 않고 자유롭게 변경할 수 있다.
3. 상속보다는 구성을 활용한다. 상속이 아닌 두 클래스를 합치는 구성을 이용하여 시스템의 유연성을 향상시키고 실행시에 행동을 바꿀 수도 있다.
스트래티지 패턴에 자세한 설명과 코드는 다음 링크에 잘나와 있어서 생략한다.
http://www.gurubee.net/pages/viewpage.action?pageId=1507368
참고 : Head First Design Pattern
반응형
'Design Patterns' 카테고리의 다른 글
[Design Patterns] 데코레이터 패턴(Decorator Pattern)과 OCP(Open-Closed Principle) (0) | 2014.02.21 |
---|---|
[Design Patterns] 싱글턴 패턴(Singleton) (2) | 2014.02.11 |