본문 바로가기

[Terry] JAVA

[Design Patterns] Strategy Pattern 4

이전 포스팅을 동적으로 나는 행위와 우는 행위를 바꿀수 있도록 수정해 보자.

클래스 다이어 그램은 다음과 같다.

사용자 삽입 이미지

수정해야 할 내용은 다음과 같다.

1. Duck클래스에 2개의 세터메소드를 추가해준다.
   setFlyBehavior(), setQuackBehavior()

2. 시뮬레이션 프로그램에서 원하는 메소드를 호출한다.

소스가 필요한 사람을위해 소스 추가해 놓는다.


 * 지금까지 우리가 본 strategy pattern에 대해 정의 하면 다음과 같다.
Strategy Pattern에서는 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. Strategy Pattern을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다.