Skip to main content

TP - Pattern Observable (Correction)

Dans cette correction les Observer seront des fonctions lambda.

Observable

class Observable<T> {
T value;
final List<void Function(T)> observers = [];

Observable(this.value);

void setValue(T newValue) {
value = newValue;
notifyObservers();
}

void addObserver(void Function(T) observer) {
observers.add(observer);
}

void removeObserver(void Function(T) observer) {
observers.remove(observer);
}

void notifyObservers() {
for (var observer in observers) {
observer(value);
}
}
}