[TIL-260124] Observer Pattern

데비·2026년 1월 25일

본과정

목록 보기
40/64

오늘 배운 내용

- 옵저버 패턴(Observer Pattern)


옵저버 패턴(Observer Pattern)

- Subject

  • 주시대상이 되는 데이터와 옵저버들을 가지고 있는 주체이다.
  • 데이터 변경시 등록된 여러 옵저버들에게 메서드를 통해 메시지를 전달한다.

- Observer

  • Subject를 주시하고 있는 관찰자이며, 데이터 변경에 대한 메시지 수신 시 자신이 해야 할 동작을 수행한다.

- 옵저버 패턴 사용시 주의점

  1. 더 이상 사용하지 않는 객체는 구독을 해지하기
    • 옵저버패턴은 구독자를 주체에 '등록'하는 방식이다.
    • 앞으로 사용하지 않을 객체에서 구독 해지를 하지 않는다면, 불필요한 메모리 공간을 차지한다.
  2. 옵저버가 많아질수록 무거워진다
    • 성능적으로 이득을 보는것은 사실이나, 구독자의 수가 늘어날수록 구독자 목록을 순회하며 호출 함수를 실행하기 때문에 구독자의 수와 성능이 반비례한다.
  3. 구조 복잡도 증가
    - 옵저버 패턴은 객체 간의 결합력이 낮아지는 이점이 있지만 객체간의 관계가 불명확할 수 있다.
    - 간결하고 명확한 코드를 작성해야 하며,이는 설계 단계에서 중요하게 생각해야 할 문제이다.
    public class ObservaleProperty<T>

0개의 댓글