Tipi di modelli:
- creazionale
- strutturale
- comportamentale
Creativo:
-
Singleton: limita la creazione di una classe a una singola istanza e fornisce l'accesso a quella singola istanza.
-
Factory: utilizzato quando abbiamo una superclasse con più sottoclassi e dobbiamo restituire una sottoclasse in base all'input.
-
Fabbrica astratta: usa una super fabbrica per creare fabbriche, che poi usiamo per creare oggetti.
-
Builder: utilizzato per creare oggetti complessi utilizzando oggetti semplici. Crea gradualmente un oggetto grande da un oggetto piccolo e semplice.
-
Prototipo: aiuta a migliorare le prestazioni durante la creazione di oggetti duplicati; invece di creare un nuovo oggetto, crea e restituisce un clone di un oggetto esistente.
Strutturale:
-
Adattatore — un convertitore tra due oggetti incompatibili. Possiamo usare il modello dell'adattatore per combinare due interfacce incompatibili.
-
Composito: utilizza una classe per rappresentare una struttura ad albero.
-
Proxy: fornisce la funzionalità di un'altra classe.
-
Flyweight: riutilizza gli oggetti invece di creare un gran numero di oggetti simili.
-
Facciata: fornisce una semplice interfaccia per un client, che utilizza l'interfaccia per interagire con il sistema.
-
Bridge: rende classi specifiche indipendenti dalle classi che implementano un'interfaccia.
-
Decoratore: aggiunge nuove funzionalità a un oggetto esistente senza legarsi alla sua struttura.
Comportamentale:
-
Metodo modello: definisce un algoritmo di base e consente ai discendenti di eseguire l'override di alcuni passaggi dell'algoritmo senza modificarne la struttura complessiva.
-
Mediatore: fornisce una classe intermedia che gestisce tutte le comunicazioni tra classi diverse.
-
Catena di responsabilità: consente di evitare una stretta dipendenza tra il mittente e il destinatario di una richiesta; inoltre la richiesta può essere processata da più oggetti.
-
Osservatore: consente a un oggetto di monitorare e rispondere agli eventi che si verificano in altri oggetti.
-
Strategia: consente di modificare le strategie (algoritmi) in fase di esecuzione.
-
Comando: un'interfaccia che dichiara un metodo per eseguire un'azione specifica.
-
Stato: consente a un oggetto di modificare il proprio comportamento in base al proprio stato.
-
Visitatore: utilizzato per semplificare le operazioni su gruppi di oggetti correlati.
-
Interprete: definisce una grammatica per un linguaggio semplice nel dominio del problema.
-
Iteratore: accede in sequenza agli elementi di una raccolta senza conoscerne la forma sottostante.
-
Memento: utilizzato per memorizzare lo stato di un oggetto; questo stato può essere ripristinato in seguito.
Altre letture: |
---|
GO TO FULL VERSION