logo

Classificazione dei modelli di progettazione

I Design Patterns sono classificati principalmente in tre categorie: Modello di progettazione creativa, Modello di progettazione strutturale e Modello di progettazione comportamentale. Questi differiscono tra loro in base al livello di dettaglio, complessità e scala di applicabilità all'intero sistema in fase di progettazione.

Esistono anche due tipi di modelli: idiomi e modelli architettonici. Ma non li esploreremo in questo tutorial.

Modello di progettazione creativa

Come suggerisce il nome, fornisce il meccanismo di creazione di oggetti o classi che migliora la flessibilità e la riusabilità del codice esistente. Riducono la dipendenza e controllano il modo in cui interagiamo con la nostra classe in modo da non dover affrontare la costruzione complessa. Di seguito sono riportati i vari design pattern del design pattern creazionale.

Fabbrica astratta- Ci permette di creare oggetti senza specificarne il tipo concreto.

Costruttore - Viene utilizzato per creare oggetti complessi.

Metodo di fabbrica - Ci consente di creare oggetti senza specificare la classe esatta da creare.

Prototipo - Viene utilizzato per creare un nuovo oggetto dall'oggetto esistente.

Singleton- Il modello di progettazione singleton garantisce che venga creata una sola istanza di un oggetto.

Modelli di progettazione strutturale

I modelli di progettazione strutturale sono principalmente responsabili dell'assemblaggio di oggetti e classi in una struttura più ampia, assicurandosi che queste strutture siano flessibili ed efficienti. Sono molto essenziali per migliorare la leggibilità e la manutenibilità del codice. Garantisce inoltre che le funzionalità siano adeguatamente separate e incapsulate. Riduce l’interfaccia minima tra cose interdipendenti.

Adattatore- Ci consente di far lavorare insieme due classi incompatibili avvolgendo un'interfaccia attorno a una delle classi esistenti.

composito - Avvolge un gruppo di oggetti in un singolo oggetto.

Ponte - Disaccoppia un'astrazione in modo che due classi possano variare in modo indipendente.

Decoratore - Estende dinamicamente il comportamento dell'oggetto in fase di esecuzione.

Facciata - Offre un'interfaccia semplice per oggetti sottostanti più complessi.

Peso mosca - Diminuisce il costo del modello di oggetti complessi.

Procura - Riduce i costi, riduce la complessità e fornisce l'interfaccia segnaposto a un oggetto sottostante per controllare l'accesso.

Modello di progettazione del comportamento

I Behavior Design Patterns sono responsabili del modo in cui una classe comunica con le altre.

Catena di responsabilità - Rappresenta il comando ad una catena di oggetti di elaborazione.

Comando - Genera gli oggetti che incapsulano le azioni dei parametri.

Interprete - Implementa un linguaggio specializzato.

Iteratore - Accede a tutti gli elementi di un oggetto in sequenza senza violare la sua rappresentazione sottostante.

Mediatore - Fornisce l'accoppiamento libero tra le classi essendo l'unica classe che ha una conoscenza dettagliata dei metodi esistenti.

Ricordo - Ripristina un oggetto nello stato precedente.

Osservatore - Consente a un numero di oggetti osservatori di vedere un evento.

Stato - Consente a un oggetto di modificare il proprio comportamento quando cambiano i suoi stati interni.

Strategia - Fornisce una delle famiglie di algoritmi da selezionare in fase di runtime.

Metodo modello - Consente alle sottoclassi di fornire un comportamento concreto. Definisce inoltre lo scheletro di un algoritmo come una classe astratta.

Visitatore - Separa un algoritmo da una struttura di oggetti spostando la gerarchia dei metodi in un unico oggetto.

ordinamento a bolle Java

Impareremo alcuni importanti modelli di progettazione nel prossimo tutorial.