Observer Pattern
- https://en.wikipedia.org/wiki/Observer_pattern
- 여러개의 observer를 가지고 있는 subject가 있고 상태가 변경이 되었을때 (state change) 자동으로 observer에게 notify를 한다.
- 객체가 1 to N로 의존성을 가지고 있을때
- 1개의 객체의 상태가 바꿨을때 의존하고 있는(dependent) 객체들이 자동으로 업데이트가 되어야 할때
Structure
Examples
import java.util.Observable;
import java.util.Scanner;
class EventSource extends Observable implements Runnable {
public void run() {
while (true) {
String response = new Scanner(System.in).next();
setChanged();
notifyObservers(response);
}
}
}
import java.util.Observable;
import java.util.Observer;
public class MyApp {
public static void main(String[] args) {
System.out.println("Enter Text: ");
EventSource eventSource = new EventSource();
eventSource.addObserver((obj, arg) -> {
System.out.println("Received response: " + arg)
});
new Thread(eventSource).start();
}
}
'Programing' 카테고리의 다른 글
Event Sourcing (0) | 2018.10.16 |
---|---|
Actor Model (0) | 2018.10.02 |
MVC Pattern (0) | 2018.09.04 |
불변객체 (Immutable Object) (0) | 2018.08.28 |
B tree, B+ tree (0) | 2018.08.25 |