Не обязательно знать о наблюдаемом при создании.
Вы можете реализовать это так (простой пример, конечно, не идеальный)
class MyObservable {
private ArrayList<MyObserver> observersList = new ArrayList<>();
public void addObserver(MyObserver observer) {
observersList.add(observer)
// OR observer.addObservable(this) , but it is kinda strange one
}
public void onAnimeReleased() {
// Some other logic, release Anime and etc...
notify();
}
private void notify() {
observersList.forEach((obs) -> obs.notify());
}
}
Обратите внимание, что вы также можете держите ссылку на наблюдателя, не входящего в коллекцию.
private MyObserver animeObserver;
В заключение, обычно реализация этого шаблона означает, что вам нужно реализовать способ добавления наблюдателей к наблюдаемым и уведомления их, когда это необходимо.