Il pattern OBSERVER rientra nella categoria dei pattern "comportamentali".
Esistono 3 categorie principali di pattern:
Vediamo un semplice esempio.
CLASSE OBSERVABLE
CLASSE OBSERVER
Vediamo di seguito un esempio di utilizzo:
Il risultato dell'esecuzione del codice sarà il seguente:
Esistono 3 categorie principali di pattern:
- CREAZIONALI ( es. SINGLETON, FACTORY, ABSTRACT FACTORY)
- STRUTTURALI (es. DECORATOR, PROXY, FACADE)
- COMPORTAMENTALI (es. OBSERVER, STATE,STRATEGY)
Vediamo un semplice esempio.
CLASSE OBSERVABLE
package it.pattern;
import java.util.ArrayList;
import java.util.List;
import java.util.Observable;
public class Lista extends Observable {
private List<String> lista=new ArrayList<>();
public List<String> getLista() {
return lista;
}
public void addString(String elemento){
setChanged();
notifyObservers(elemento);
lista.add(elemento);
}
}
CLASSE OBSERVER
package it.pattern;
import java.util.Observable;
import java.util.Observer;
public class ListaObserver implements Observer {
@Override
public void update(Observable o, Object arg) {
System.out.println("Aggiunto elemento "+arg);
}
}
Vediamo di seguito un esempio di utilizzo:
package it.pattern;
public class Test {
public static void main(String[] args) {
Lista l=new Lista();
l.addObserver(new ListaObserver());
l.addString("dsjksdkjd");
l.addString("dsddsds");
}
}
Il risultato dell'esecuzione del codice sarà il seguente:
Aggiunto elemento dsjksdkjd
Aggiunto elemento dsddsds
Nessun commento:
Posta un commento