From 93decd83a975100da2846c081efe3da8c24119f6 Mon Sep 17 00:00:00 2001 From: Sebastian Baltes Date: Wed, 25 Jun 2025 11:19:52 +0200 Subject: Add code for assignment 8 --- de/unibayreuth/se/observer/ConcreteObserver.java | 17 +++++++++++++++++ de/unibayreuth/se/observer/ConcreteSubject.java | 5 +++++ de/unibayreuth/se/observer/Main.java | 16 ++++++++++++++++ de/unibayreuth/se/observer/Observer.java | 5 +++++ de/unibayreuth/se/observer/Subject.java | 21 +++++++++++++++++++++ 5 files changed, 64 insertions(+) create mode 100644 de/unibayreuth/se/observer/ConcreteObserver.java create mode 100644 de/unibayreuth/se/observer/ConcreteSubject.java create mode 100644 de/unibayreuth/se/observer/Main.java create mode 100644 de/unibayreuth/se/observer/Observer.java create mode 100644 de/unibayreuth/se/observer/Subject.java (limited to 'de/unibayreuth/se/observer') diff --git a/de/unibayreuth/se/observer/ConcreteObserver.java b/de/unibayreuth/se/observer/ConcreteObserver.java new file mode 100644 index 0000000..5797976 --- /dev/null +++ b/de/unibayreuth/se/observer/ConcreteObserver.java @@ -0,0 +1,17 @@ +package de.unibayreuth.se.observer; + +public class ConcreteObserver implements Observer { + + public ConcreteObserver(Subject subject) { + // TODO + } + + @Override + public void update(Subject subject) { + // TODO + } + + public void detach() { + // TODO + } +} diff --git a/de/unibayreuth/se/observer/ConcreteSubject.java b/de/unibayreuth/se/observer/ConcreteSubject.java new file mode 100644 index 0000000..62ab7bb --- /dev/null +++ b/de/unibayreuth/se/observer/ConcreteSubject.java @@ -0,0 +1,5 @@ +package de.unibayreuth.se.observer; + +public class ConcreteSubject { + // TODO +} diff --git a/de/unibayreuth/se/observer/Main.java b/de/unibayreuth/se/observer/Main.java new file mode 100644 index 0000000..fdf60b3 --- /dev/null +++ b/de/unibayreuth/se/observer/Main.java @@ -0,0 +1,16 @@ +package de.unibayreuth.se.observer; + +public class Main { + public static void main(String[] args) { + // TODO: Uncomment after resolving all TODOs. No changes are required in the main method. + //ConcreteSubject subject = new ConcreteSubject(); + //ConcreteObserver observer1 = new ConcreteObserver(subject); + //ConcreteObserver observer2 = new ConcreteObserver(subject); + + //subject.setValue(5); + //observer1.detach(); + //subject.setValue(1); + //observer2.detach(); + //subject.setValue(3); + } +} diff --git a/de/unibayreuth/se/observer/Observer.java b/de/unibayreuth/se/observer/Observer.java new file mode 100644 index 0000000..0e2ecdc --- /dev/null +++ b/de/unibayreuth/se/observer/Observer.java @@ -0,0 +1,5 @@ +package de.unibayreuth.se.observer; + +public interface Observer { + void update(Subject subject); +} diff --git a/de/unibayreuth/se/observer/Subject.java b/de/unibayreuth/se/observer/Subject.java new file mode 100644 index 0000000..2f0b5bb --- /dev/null +++ b/de/unibayreuth/se/observer/Subject.java @@ -0,0 +1,21 @@ +package de.unibayreuth.se.observer; + +public abstract class Subject { + // TODO + + public Subject() { + // TODO + } + + void attach(Observer observer) { + // TODO + } + + void detach(Observer observer) { + // TODO + } + + protected void fireUpdate() { + // TODO + } +} -- cgit v1.2.3