[DesignPattern] ObserverPattern, 옵저버 패턴

LimJaeJun·2023년 7월 31일

DesignPattern

목록 보기
2/15

옵저버패턴 - ObserverPattern

🔥 옵저버패턴이란?

한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고
자동으로 내용이 갱신되는 방식으로 일대다(one-to-many) 의존성을 정의한다.

📌 디자인 원칙1

상호작용하는 객체 사이에는 가능하면 느슨한 결합을 사용해야 한다.

✅ 주제는 옵저버가 특정 인터페이스(Observer 인터페이스)를 구현한다는 사실만 알고 있다.
✅ 옵저버는 언제든지 새로 추가할 수 있다.
✅ 새로운 형식의 옵저버를 추가할 때도 주제를 변경할 필요가 없다.
✅ 주제와 옵저버는 서로 독립적으로 재사용할 수 있다.
✅ 주제난 옵저버가 달라져도 서로에게 영향을 미치지 않는다.

📄 푸시(Push) 방식 vs 풀(Pull) 방식

PushPull
주제가 옵저버에게 상태를 알리는 방식옵저버가 주제로부터 상태를 끌어오는 방식

📄 클래스 다이어그램

Observer Class Diagram

클래스 다이어그램에 있는 각 클래스들이 어떤 관계인지 구상해보자.


📚 참고문헌

  • HeadFirst DesignPattern - 한빛미디어
profile
Dreams Come True

0개의 댓글