Computer Science/Design Pattern

관찰자패턴 (Observer Pattern)

Donghwan 2023. 1. 29. 02:00
  • 옵저버 패턴은 객체의 상태 변화를 관찰하는 옵저버를 객체에 등록하여 상태 변화가 있을때마다 notify를 통해 객체가 관찰자들에게 알림을 보내는 패턴을 말합니다.
  • 쉽게 말해서 어떤 이벤트가 일어나는 것을 감시하는 패턴입니다.
  • 옵저버 패턴을 활용하면 다른 객체의 상태 변화를 별도의 함수 호출 없이 즉각적으로 알 수 있습니다. 따라서 이벤트에 대한 처리를 자주 해야하는 프로그램이라면 매우 효율적일 수 있습니다.

public class AppMain {

    /*
     * 예제의 설정
     * 가장 보편적인 설정이라고 볼 수 있는 Youtuber와 Subscriber들의 관계로 예제를 설정하였습니다.
     * Youtuber가 새로운 영상을 올리거나, 공지를 등록하는 것을 모두 notify 함수로 개념을 통일하여서 작성하였습니다.
     */
    public static void main(String[] args) {
        Youtuber youtuber = new Youtuber("Donghwan");

        Observer subscriber1 = new Subscriber("철수");
        Observer subscriber2 = new Subscriber("영희");

        youtuber.registerObserver(subscriber1);
        youtuber.registerObserver(subscriber2);
        youtuber.notify("Youtube에 새로운 영상이 올라왔습니디.");
        youtuber.unRegisterObserver(subscriber2);
        youtuber.notify("Youtube에 새로운 공지가 올라왔습니다.");
    }
}
 

GitHub - dev-donghwan/donghwan-study: donghwan-personal-study-repository

donghwan-personal-study-repository. Contribute to dev-donghwan/donghwan-study development by creating an account on GitHub.

github.com

 

728x90
반응형