본문 바로가기

Observer Pattern2

[GoF Design Pattern] 2. 옵저버(Obsever) 패턴 [GoF Design Pattern] 2. 옵저버(Obserer) 패턴 주제(Subject)를 구독하는 관찰자(Observer) 패턴. 여러 컴포넌트가 같은 주제를 구독하고 주제의 정보가 변경될 때, 각 컴포넌트는 즉각 업데이트를 받도록 한다. 주제(Subject)는 자신을 구독하고 있는 옵저버(Observer)들을 관리하고 옵저버는 주제에 의존적이다. 예를 들어 하나의 데이터 소스(날씨 서버)가 있고 여러 종류의 UI 화면이 날씨 정보를 갱신받아 업데이트한다고 할 때, 옵저버 패턴을 적용할 수 있겠다. 옵저버 패턴은 구조가 매우 간단하고 이해하기도 편한 패턴이다. 쉽지만 여러 가지 중요한 디자인 원칙을 내포하고 있기 때문에 잘 공부해 두면 좋다. -> 개방-폐쇄 원칙(OCP) , 느슨한 결합(Loose.. 2023. 5. 29.
[Pattern] 옵저버 패턴 (Observer Pattern) by Kotlin [Pattern] 옵저버(Observer) 패턴 굉장히 유명한 디자인 패턴이다. 꼭 알고 넘어가야한다. 이벤트를 관찰하는 패턴 옵저버 패턴은 한 클래스가 다른 클래스의 상태 변화를 관찰(Observe)하고자 할 때 구현하는 패턴이다. 예를 들어 클래스 A가 클래스 B를 인스턴스화 한 객체를 가지고 있고, 이 객체의 상태변화(Event)를 감지하여 그 데이터를 활용하고자 할 때 쓰인다. 이때 A클래스는 옵저버가 되기위해 옵저버를 구현(implement)하고, 그 옵저버는 B클래스에 등록(register)이 되어있어야 상태변화의 전달이 가능하다. Java의 Swing 라이브러리나 안드로이드를 사용해 봤다면 다양한 영역에서 이벤트 리스너를 사용해 보았을 것이다. 이것이 대표적 사례로 거의 모든 GUI 툴킷에 .. 2022. 3. 28.