본문 바로가기

아는 만큼 보인다/Design Pattern

전략 패턴 (using Interface)

"어떤 클래스가 여러 구현클래스를 갖는 어떤 Interface를 사용한다."


변하지 않는 클래스가..

변하는 부분에 대한 메소드를 선언만하고 있는 인터페이스를 사용하고

해당 인터페이스에 대입될 구현 클래스는 그때 그때 상황/전략에 따라 결정된다.  



                   (생성)                                                                 (사용)

  [Client] ----------->  [Context/Template/변하지 않는 부분] ------------> [Interface]

     |                                                                                           |

     |                                                                               -----------------

     |       (생성/ Context에 주입)                                        |                        |

      ---------------------------------------> [Implement/변하는부분]      [Implement]