Ate onde eu sei o pattern eh Observer.
No java tem a classe Observable e a interface Observer, nao usei muito essas duas mas (corrijam se eu estiver errado) se vc criar um classe e herda Observable vc pode adicionar a funcionalidade de “capturar” quando o objeto foi alterado ou mudou seu estado de alguma maneira.
por exemplo :
import java.util.*;
public class User implements Observer {
public void update(Observable obs, Object o ) {
System.out.println("Status changed");
}
public User() {
UserAccounts account = new UserAccounts("daniel", "teste", false);
account.addObserver(this);
account.setStatus(true);
}
public static void main(String[] args) {
new User();
}
}
class UserAccounts extends Observable {
String name, password;
boolean activated ;
public UserAccounts(String name, String password, boolean activated) {
this.name = name ;
this.password = password ;
this.activated = activated;
}
public void setStatus(boolean status) {
this.activated = status ;
this.setChanged();
this.notifyObservers();
}
public boolean getStatus() {
return this.activated;
}
}
Toda vez que eu chamar setStatus na minha class UserAccounts vou executara setChanged() e notifyObservers() que vai dizer pra minha classe Observer (no caso a propria Users) que o meu objeto UsersAccount foi modificado.
As partes mais importantes desse exemplo sao :
account.addObserver(this);
Coloquei o “this” porque a classe User implements Observer e eu escrevi o metodo update.
E na classe UserAccounts :
public void setStatus(boolean status) {
this.activated = status ;
this.setChanged();
this.notifyObservers();
}
que manda a notificacao pros Observers.
ps: nao repara nesse exemplo sem sentido so foi pra tentar dar um exemplo. 
Provavelmente foi um deslize da pessoa que escreveu o artigo eh facil confundir quando vc ta digitando Observer Observable.
//Daniel