Questo è un breve articolo sui modelli di progettazione in Java. Non ci sarà alcuna implementazione dei pattern, c'è solo un elenco di pattern esistenti in Java e il loro breve contenuto. Sarà utile per coloro che sono già in argomento per ripetizioni e generalizzazioni. O, al contrario, per coloro che si avvicinano ai modelli per la prima volta, per la prima panoramica dell'argomento, prima di approfondire. I design pattern (modelli di progettazione) sono soluzioni pronte all'uso per i problemi di programmazione riscontrati di frequente. Questa non è una classe o una libreria collegabile ad un progetto, è qualcosa di più. I modelli di progettazione adatti al compito vengono implementati in ciascun caso specifico. Va ricordato che un modello del genere, se applicato in modo errato o al problema sbagliato, può causare molti problemi. Tuttavia, un modello applicato correttamente aiuterà a risolvere il problema in modo facile e semplice. Tipi di modelli :
- generando
- strutturale
- comportamentale
- Singleton : limita la creazione di un'istanza di una classe e fornisce l'accesso al suo unico oggetto.
- Factory : utilizzato quando abbiamo una superclasse con più sottoclassi e in base all'input, dobbiamo restituirne una dalla sottoclasse.
- Fabbrica astratta : utilizza una super fabbrica per creare una fabbrica, quindi utilizza la fabbrica creata per creare oggetti.
- Costruttore : utilizzato per creare un oggetto complesso utilizzando oggetti semplici. A poco a poco crea un oggetto più grande da un oggetto piccolo e semplice.
- Prototipo : aiuta a creare un oggetto duplicato con prestazioni migliori, invece di uno nuovo, viene creato un clone restituito dell'oggetto esistente.
- L'adattatore è un convertitore tra due oggetti incompatibili. Utilizzando il modello dell'adattatore, possiamo combinare due interfacce incompatibili.
- Composito : utilizza una singola classe per rappresentare una struttura ad albero.
- Proxy : rappresenta la funzionalità di un'altra classe.
- Peso mosca : invece di creare un gran numero di oggetti simili, gli oggetti vengono riutilizzati.
- Facade : fornisce un'interfaccia semplice per il client e il client utilizza l'interfaccia per interagire con il sistema.
- Bridge : rende le classi concrete indipendenti dalle classi di implementazione dell'interfaccia.
- Decoratore : aggiunge nuove funzionalità a un oggetto esistente senza impegnarsi nella sua struttura.
- Metodo modello : definisce le basi dell'algoritmo e consente ai successori di ridefinire alcuni passaggi dell'algoritmo senza modificarne la struttura nel suo complesso.
- Mediatore : fornisce una classe mediatore che gestisce tutte le comunicazioni tra classi diverse.
- Catena di responsabilità : consente di evitare una stretta dipendenza del mittente della richiesta dal destinatario, mentre la richiesta può essere elaborata da più oggetti.
- Osservatore : consente ad alcuni oggetti di monitorare e reagire agli eventi che si verificano in altri oggetti.
- Strategia : l'algoritmo della strategia può essere modificato durante l'esecuzione del programma.
- Comando : l'interfaccia di comando dichiara un metodo per eseguire un'azione specifica.
- Stato : un oggetto può modificare il proprio comportamento a seconda del suo stato.
- Visitatore : utilizzato per semplificare le operazioni sui raggruppamenti di oggetti correlati.
- Interprete : definisce una grammatica linguistica semplice per un dominio problematico.
- Iteratore : accede in sequenza agli elementi di un oggetto di raccolta senza conoscerne la rappresentazione sottostante.
- Memento (Custode) - utilizzato per memorizzare lo stato di un oggetto, questo stato può essere ripristinato in seguito.
GO TO FULL VERSION