/design-pattern

헤드퍼스트 디자인 패턴

Primary LanguageJava

Design Pattern

Chap01

Duck Class

  • FlyBehavior Interface

image

  • QuackBehavior Interface

image

  • Duck Class

image

전략 패턴

전략 패턴은 알고리즘 군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 사용할 수 있게 해 줍니다. 전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있습니다

Chap02

  • Subject Interface

image

  • Observer Interface

image

옵저버 패턴

한 객체의 상태(Subject)가 변화하면 그 객체에 의존하는 다른 객체(Observer)에게 연락이 가고 자동으로 갱신되는 일대다(Many-to-One) 의존성을 정의합니다.

  • subject는 observer들이 Observer 인터페이스를 구현한다는 것을 제외하면 observer에 관련해서 아는 것이 없습니다. 그래서 느슨한 결합 입니다. 느슨한 결합을 사용하면, 훨씬 더 유연하고 변화에 강합니다.
  • Observer Pattern은 subject가 observer에게 데이터를 보내는 방식(Push), observer가 데이터를 가져오는 방식(Pull)이 있습니다.