[디자인패턴] 옵저버 패턴(Observer Pattern)이란 무엇인가?
2023. 3. 8. 11:58
Programming/Design Pattern
정의 정말 많이 쓰이는 디자인 패턴 중 하나인 옵저버 패턴은 아래와 같은 정의를 가지고 있다. 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식으로, 일대다(one-to-many) 의존성을 정의한다. 아래의 그림과 같이, 한 Subject가 자신의 상태가 바뀌었음을 다수의 Observer 들에게 통지(Notify)하는 방식을 가지고 있는 패턴이다. 옵저버 패턴은 RxJava, Swing 라이브러리 등 많은 곳에서 활용하고 있는 디자인 패턴이다. 문제 상황 한 신문사가 있고, 이 신문사에서 출간되는 신문을 구독하는 다수의 구독자가 있는 상황을 고려해 보자. 구독자들은 신문이 배달될 때마다 바로 신문을 읽고 싶은 상황이다. 이를 위의 그림과 같이 정리하면 ..