Skip to content

Commit 6ea769f

Browse files
Design Patterns
1 parent 0da8cea commit 6ea769f

29 files changed

Lines changed: 78 additions & 0 deletions
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.design.patterns.behavioral.oberver;
2+
3+
public interface Device {
4+
5+
void updateMessage(String message);
6+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.design.patterns.behavioral.oberver;
2+
3+
public class ObserverPatternTest {
4+
5+
public static void main(String[] args) {
6+
7+
WeatherUpdate weatherUpdate=new WeatherUpdate();
8+
PhoneDevice phoneDevice=new PhoneDevice();
9+
WatchDevice watchDevice=new WatchDevice();
10+
weatherUpdate.addDevice(phoneDevice);
11+
weatherUpdate.addDevice(watchDevice);
12+
weatherUpdate.updateWeather("Cloudy");
13+
14+
weatherUpdate.removeDevice(watchDevice);
15+
weatherUpdate.updateWeather("Rainy");
16+
17+
}
18+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.design.patterns.behavioral.oberver;
2+
3+
public class PhoneDevice implements Device{
4+
@Override
5+
public void updateMessage(String message) {
6+
System.out.println("Getting Message on Phone:"+message);
7+
}
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.design.patterns.behavioral.oberver;
2+
3+
public class WatchDevice implements Device{
4+
@Override
5+
public void updateMessage(String message) {
6+
System.out.println("Getting message on Watch:"+message);
7+
}
8+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.design.patterns.behavioral.oberver;
2+
3+
public interface Weather {
4+
5+
void updateWeather(String message);
6+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.design.patterns.behavioral.oberver;
2+
3+
import java.util.ArrayList;
4+
import java.util.List;
5+
6+
public class WeatherUpdate implements Weather{
7+
8+
List<Device> devices;
9+
public WeatherUpdate()
10+
{
11+
this.devices=new ArrayList<>();
12+
}
13+
14+
public void addDevice(Device device)
15+
{
16+
this.devices.add(device);
17+
}
18+
19+
public void removeDevice(Device device)
20+
{
21+
System.out.println("Removing Device:"+device);
22+
this.devices.remove(device);
23+
}
24+
25+
@Override
26+
public void updateWeather(String message) {
27+
for(Device device:devices)
28+
{
29+
device.updateMessage(message);
30+
}
31+
}
32+
}
556 Bytes
Binary file not shown.
180 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)