개발

Language

전략 패턴

이전 포스팅에서 템플릿 메서드 패턴에 대해서 학습하였습니다. 템플릿 메서드 패턴의 가장 큰 문제는 자식 클래스가 부모 클래스를 상속 받음으로써 부모 클래스에게 강하게 의존한다는 것이 문제였는데요. 좋은 객체지향 설계 원칙에서 두 가지를 지키지 못하는 상황이 발생해 버린 것이죠. 그 두 가지는 다음과 같습니다. 상속보다는 구성을 활용한다. 인터페이스에 맞춰서 프로그래밍을 한다. 전략 패턴은 이러한 템플릿 메서드 패턴의 단점을 해결 한 방식입니다. 우선 정의부터 살펴보도록 할까요? 전략 패턴의 정의 알고리즘 제품군을 정의하고 각각을 캡슐화하여 상호 교환 가능하게 만든다. 이 전략 패턴을 사용하면 알고리즘을 사용하는 클라이언트와 독립적으로 알고리즘을 변경할 수 있다. 알고리즘 군 여기서 알고리즘 제품군 이라는..

Bombo_
'개발' 태그의 글 목록