Modello di progettazione
Modello di progettazione rappresenta un esempio o un campione di soluzione corretta a un problema comune nello sviluppo del software.
Il vantaggio dell'utilizzo di un modello di progettazione è la riduzione della complessità del flusso di lavoro, poiché si riduce il tempo di scrittura del codice. Tutti i modelli hanno già nomi predefiniti, il che facilita anche l'interazione tra gli sviluppatori.
Tra gli svantaggi si può notare la tentazione per gli sviluppatori di applicare il modello scelto, anche quando non tutte le sue funzioni sono necessarie per il prodotto da realizzare.
Esistono tipi principali di modelli di progettazione:
- Modello di delega (Delegation pattern) trasferisce la responsabilità di eseguire il proprio comportamento a un oggetto associato.
- Design funzionale (Functional design) fornisce a ogni modulo una funzione specifica, che viene eseguita con un effetto collaterale minimo sugli altri moduli.
- Interfaccia immutabile (Immutable interface) crea un oggetto immutabile.
- Interfaccia (Interface) consente di strutturare i programmi per una loro più facile comprensione.
- Interfaccia marker (Marker interface) viene utilizzata per segnalare la presenza o l'assenza di un'implementazione di un attributo o annotazione.
- Contenitore di proprietà (Property container) aggiunge proprietà aggiuntive a un contenitore interno della classe invece di estendere semplicemente la classe con nuove proprietà.
- Canale degli eventi (Event channel) crea un canale attraverso il quale i messaggi fluiscono nel modello pubblicatore - sottoscrittore. A questo scopo, in questo modello è presente un oggetto rappresentante, che non è né un pubblicatore né un sottoscrittore, ma garantisce solo la loro connessione.
Vedi anche
-
modello antipattern,
che definisce una soluzione errata al problema -
insieme di concetti Paradigma di programmazione,
che definisce l'approccio alla programmazione -
tecnica
planning-poker,
progettata per stimare il volume e la complessità delle attività -
diagramma di burn down,
utilizzato per la rappresentazione grafica del volume di lavoro