Skip to content

Commit 2185ffc

Browse files
author
Aleksandr Gromov
committed
new commit
1 parent 72129be commit 2185ffc

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package patterns.observer;
2+
3+
public class Client {
4+
public static void main(String[] args) {
5+
DataStore dataStore = new DataStore();
6+
Screen screen = new Screen();
7+
8+
// add Observer screen
9+
dataStore.addObserver(screen);
10+
11+
dataStore.setData("Hi");
12+
dataStore.notifyObservers();
13+
dataStore.setData("Hi1");
14+
dataStore.notifyObservers();
15+
dataStore.setData("Hi2");
16+
dataStore.setData("Hi3");
17+
dataStore.setData("Hi4");
18+
dataStore.notifyObservers();
19+
20+
dataStore.deleteObserver(screen);
21+
}
22+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package patterns.observer;
2+
3+
import java.util.Observable;
4+
5+
public class DataStore extends Observable {
6+
private String data;
7+
public String getData() {
8+
return data;
9+
}
10+
public void setData(String data) {
11+
this.data = data;
12+
//mark the observable as changed
13+
setChanged();
14+
}
15+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package patterns.observer;
2+
3+
import java.util.Observable;
4+
import java.util.Observer;
5+
6+
public class Screen implements Observer {
7+
@Override
8+
public void update(Observable o, Object arg) {
9+
System.out.println("Changed to " + ((DataStore)o).getData());
10+
}
11+
}

0 commit comments

Comments
 (0)