- 도커
- restcontroller
- Spring
- 옵저버패턴
- java
- QueryDSL
- fontawesome
- 라즈베리파이 클러스터
- 라즈베리파이
- 전략패턴
- restdocs
- with jdk
- spring cloud contract
- Observer Pattern
- openapispec
- 디자인패턴
- kotlin
- EntityGraph
- remix icon
- Openjdk
- 리믹스아이콘
- 무료 아이콘 폰트
- Docker
- 폰트어썸
- Spring Cloud
- arc browser
- oraclejdk
- java_to_kotlin
- OneToMany
- springboot
- Today
- Total
목록Observer Pattern (3)
< Dev-Kidult />
지금까지의 글에서는 push방식의 옵저버패턴을 구현하였습니다. 이번 글에서는 push방식이 아닌 pull방식의 옵저버패턴을 알아보겠습니다. 지금까지는 observable객체가 일방적으로 데이터가 변경되면 noti를 보내 observer객체들의 메소드가 실행되었다면, pull방식의 옵저버패턴은 observer객체들이 자신이 원하는 때에만 observable객체로부터 정보를 받아 실행을 하게 됩니다. public interface Observable { void addObserver(Observer o); void deleteObserver(Observer o); void notifyObserver(Observer o); } @Override public void notifyObserver(Observer ..
전 글에서 jdk에 구현되어 있는 observer interface와 observable class를 상속받아 옵저버패턴을 구현 한 예시를 보여드렸습니다. jdk에 있는 observable이 class라서 상속 때문에 확장성의 제한 등 제약사항이 있어 직접 인터페이스로 구현하는 방법을 보여드리겠습니다. 먼저 observer와 observable을 interface로 만들어 줍니다. public interface Observer { void update(Observable o); } public interface Observable { void addObserver(Observer o); void deleteObserver(Observer o); void notifyObservers(); } 그리고 obs..
옵저버패턴은 영문 그대로 관찰자가 존재하는 디자인 패턴입니다. 관찰자(observer)와 관찰당할 대상(observable)이 존재하며 관찰당하는(?) 대상이 무언가의 액션이나 상태변화가 일어나면 관찰자에게 알려주는 방식입니다. 옵저버패턴을 구현함에 있어서 많은 방법이 있지만 해당 글에서는 jdk에 구현되어 있는 observer interface와 observable class를 상속받아 구현하는 방식을 진행하도록 하겠습니다. 진행에 앞서 observable은 날씨 상태를 가지고 있는 객체를 observer는 날씨 상태변화에 따라 작동하는 객체들로 구성을 하였습니다. class WeatherData extends Observable { private double temperature; // 온도 priv..