행위 패턴중 옵저버 패턴에 대해서
옵서버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다.
위키에 정의된 옵저버 패턴이다.
여러분들은 아마도 피그마, 넷플릭스, 멜론등 수많은 구독 서비스 중 하나 이상을 사용하고 있을것이다.
구독 서비스를 이용하게 되면 신규 컨텐츠나 새로운 기능들이 추가될때 알림을 통해 관련 내용을 받아본적이 있을거다.
넷플릭스 서비스를 구독하고 있다면 화면 상단 오른쪽에 종모양의 아이콘을 본적이 있을거다.
주로 신규 컨텐츠가 추가되면 종모양 옆에 빨간원안에 추가되는 컨텐츠만큼 숫자가 적혀있는것을 볼 수 있다.
또한, 사용자가 좋아할만한 컨텐츠를 보게 하기 위해 추천 컨텐츠를 알림으로 보여주는 경우도 있다.
https://gist.github.com/nishanbajracharya/7979d5c2d41eaa3c556d95ce762cda9d
위의 이미지는 옵저버 패턴의 예제 코드이다.
observer.subscribe([subscriberA, subscriberB, subscriberC]);
observer.set(10);
옵저버의 구독 함수에 A, B, C 의 사용자가 등록한것을 볼 수 있다.
옵저버에 10이라는 숫자가 새롭게 등록이 되면 콘솔창을 통해 A, B, C 모두에게 10이 전달된 것을 볼 수 있게 된다.