1
● Facade: fornisce un’interfaccia unificata semplice a un sottosistema di
interfacce complesso.
2
● Builder: separare la costruzione di un oggetto complesso dalla sua
rappresentazione.
3
● Iterator: fornisce l’accesso sequenziale agli elementi di un aggregato, senza
esporre l’implementazione dell’aggregato stesso.
● Observer: in questo caso un oggetto, chiamato soggetto, mantiene una lista
dei sui dipendenti, chiamati osservati, e li notifica automaticamente di
qualsiasi cambiamento di stato, di solito chiamando uno dei loro metodi.
4
● Template method: d efinisce lo scheletro di un algoritmo, lasciando
l’implementazione di alcuni passi alle sottoclassi, che forniscono il
comportamento concreto.
Model-View Pattern: nati per fornire interfacce utente (GUI) per lo stesso
modello. I dati devono poter essere modificati attraverso interazioni differenti con i
client e il supporto a diverse viste non deve influire sulle componenti che
forniscono le funzionalità base.
5
➢ View: rappresentazione grafica. Gestisce la logica di presentazione
verso i vari utenti: cattura l’input e delega al controller l’elaborazione.
➢ Controller: gestisce la reazione della UI agli input dell’utente.
Trasforma le interazioni dell’utente in azioni sui dati.
Due tipi di aggiornamenti:
Push model: view costantemente aggiornata (Observer pattern)
6
Pull model: la view richiede aggiornamenti solo quanto è opportuno