프로그래밍/DesignPattern

스트래티지 패턴

모지사바하 2007. 7. 2. 20:16
변할수 있는 행동(메소드) - 알고리즘군 - 을 캡슐화하고, 

캡슐화된 인터페이스를 구현한 각각의 행동클래스를 만든다.

이로인해 , 변할수있는 행동이 따로 분리 되고, 캡슐화하여 구현했기 때문에 ,

매우 유연하고 느슨한 결합도(loose coupling)를 갖도록 설계가 가능하다.

슈퍼클래스가 캡슐화된 인터페이스를 포함하고, setter메소드(인터페이스 i)를 만들어

슈퍼클래스의 자손클래스에서 해당 인터페이스를 구현한 클래스라면 언제든지,무엇이든지

행동을 변경할 수 있다.

그리고 만들어놓은 행동클래스를 다른객체에서도 재사용할수있다.

또 기존의 행동클래스를 수정하거나 슈퍼클래스를 수정하지않아도 새로운 행동을 추가 할수있다.