알고리즘을 모두 바꾸기

 

 

* Strategy Pattern (= Policy Pattern)

  - 알고리즘군을 정의한다

  - 각각을 캡슐화한다

  - 그리고 그것들을 상호교환한다

  - 클라이언트로부터 독립적으로 알고리즘을 변경할 수 있게 한다

 

* 의도

   - 특정 행동을 수행하기 위해 교체 가능한 캡슐화된 알고리즘의 집합을 정의하기 위해서

 

* 활용

   - 많은 관련된 클래스들 간의 차이점이 특정 행위 뿐일 때

   - 알고리즘의 여러 버전, 변형이 요구될 때

   - 클래스의 행동은 런타임에 정의되어야만 할 때

   - 조건문이 너무 복잡해서 유지보수하기 힘들 때

 

* 디자인 원리

   - 변화하는 것을 캡슐화한다

   - 구현하지 않고, interface 를 사용한다

   - super 타입을 이용한다

   - 다형성을 이용한다

   - inheritance 보다 composition 을 선호한다

 

* Object Composition + Delegation

 

 

 

'SW 공학 > ::: 패턴' 카테고리의 다른 글

///[GoF] Template Method Pattern  (0) 2021.09.26
///[GoF] Observer Pattern  (0) 2021.09.25
Design Pattern 이란?  (0) 2021.09.20
/// Humble Object Pattern  (0) 2020.10.12
//J2EE 패턴  (0) 2020.10.05

+ Recent posts