Publisher subscriber pattern

1,483 views

Published on

Published in: Technology, Business
  • Be the first to comment

Publisher subscriber pattern

  1. 1. Publisher-Subscriber Pattern charsyam@naver.com
  2. 2. 메타포: 신문 구독
  3. 3. 싞문 메타포 • 구독자에게만 신문을 배달한다. • 구독과 해지가 자유롭다.(실제 신문은 해지가 어렵다 -_-) • 여러 개의 신문을 구독할 수 있다. • 조선일보에서 한겨레 신문을 구독 할 수 도 있다.
  4. 4. Alias • Observer • Dependents
  5. 5. Force 1 : 하나 이상의 Component에 통보 Component Component OBJECT NOTIFY
  6. 6. Force 2 : Interface 로 만 통싞 Component A OBJECT Component B Component C Observer Interface Loosely Couple
  7. 7. Solution • 하나의 컴포넌트만 게시자 • 변경사항에 종속된 모든 컴포넌트는 그 게시자의 구독자에 해당 – 구독자는 observer Publisher SubscriberSubscriberSubscriberSubscriberSubscriberREGISTER NOTIFY
  8. 8. 제공 수준 • 각기 다른 클래스들이 게시자나 구독자의 역할을 할 수 있도록 – 추상 기본 클래스 도입 • 게시자는 내부 상태에 어떤 변화가 일어났을 때, 구독자에게 통지를 보낼 지 결정할 수 있다. • 한 객체가 여러 게시자들의 구독자가 될 수 있다. • 한 객체가 게시자이자 동시에 구독자의 역할을 모두 수행할 수 있다. • 구독과 통지를 각기 다른 이벤트 유형으로 구분할 수 있다. • 게시자는 구독자들에게 통지를 보낼 때 데이터 변경사항 중 일부만 선택 해 보낼 수 있다.
  9. 9. Push Model VS Pull Model Push Model Pull Model 특징 모든 관련 정보를 NOTIFY 시 에 함께 전달 이벤트 변경만 통보. 실 데이터는 다시 가져와야 한다. 장점 Subscriber 들이 모든 정보가 필요할 때 유용 Subscriber 들이 일부 정보만 필요 할 경우 정보 변경시에 유연성이 높음 단점 전달하는 데이터 형식이 고정 되므로, 유연성 부족 메시지 전달 비용이 비싸짐
  10. 10. Variant • GateKeeper • Producer - Consumer • Event Channel – Publisher – Subscriber 의 Decouple – Publisher 에서 바라보면 Subscriber 역할 – Subscriber 에서 바라보면 Publisher 역할

×