더북(TheBook)

또한, 앞의 그림처럼 주체와 객체를 따로 두지 않고 상태가 변경되는 객체를 기반으로 구축하기도 합니다.

옵저버 패턴을 활용한 서비스로는 트위터가 있습니다.

▲ 그림 1-12 트위터의 옵저버 패턴

앞의 그림처럼 내가 어떤 사람인 주체를 ‘팔로우’했다면 주체가 포스팅을 올리게 되면 알림이 ‘팔로워’에게 가야겠죠?

▲ 그림 1-13 옵저버 패턴 구조

또한, 옵저버 패턴은 주로 이벤트 기반 시스템에 사용하며 MVC(Model-View-Controller) 패턴에도 사용됩니다.

예를 들어 주체라고 볼 수 있는 모델(model)에서 변경 사항이 생겨 update() 메서드로 옵저버인 뷰에 알려주고 이를 기반으로 컨트롤러(controller) 등이 작동하는 것이죠.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.