Pattern di progettazione

I pattern di progettazione sono soluzioni riutilizzabili per lo sviluppo di software. Fungono da modelli che i programmatori possono usare durante la creazione di applicazioni. Non sono specifici di singoli linguaggi di programmazione, ma sono invece buone pratiche o euristiche che possono essere applicate in diversi ambienti di programmazione.

Sebbene i pattern di progettazione non dipendano dal linguaggio, spesso includono oggetti o classi. Per questo motivo, sono generalmente associati alla programmazione orientata agli oggetti. I singoli pattern possono essere classificati in tre categorie diverse: 1) pattern creazionali, 2) pattern strutturali e 3) pattern comportamentali.

1. Pattern creazionali

I pattern di progettazione creazionali descrivono modi per creare oggetti usando metodi appropriati per situazioni diverse. Ad esempio, il pattern "Singleton" viene usato per creare una classe di base che avrà una sola istanza. Un esempio comune è una variabile globale definita nel codice sorgente di un programma. Un pattern "Object Pool" viene usato per creare una classe con un "pool" di oggetti che possono essere recuperati quando servono, invece di essere ricreati. Questo viene spesso usato per le operazioni di memorizzazione nella cache.

2. Pattern strutturali

I pattern di progettazione strutturali definiscono le relazioni tra gli oggetti. Ad esempio, il pattern "Private Class Data" viene usato per limitare l'accesso a una classe specifica. Questo può impedire modifiche indesiderate a un oggetto. La classe "Decorator", invece, consente di aggiungere comportamenti e stati a un oggetto durante il runtime. Questo offre ai programmatori la flessibilità di aggiungere a un oggetto tutte le classi necessarie. Un esempio è un avatar in un videogioco che accumula armi, armature e oggetti durante il gioco. La classe, appropriatamente chiamata "Decorator", fornirebbe un buon framework per questo processo.

3. Pattern comportamentali

I pattern di progettazione comportamentali descrivono il comportamento degli oggetti, ad esempio il modo in cui comunicano tra loro. Un esempio è il pattern "Command", che descrive oggetti che eseguono comandi. Il pattern "Memento" registra lo stato di un oggetto, in modo che possa essere ripristinato allo stato salvato. Questi due pattern possono essere usati insieme per eseguire operazioni di annullamento e ripetizione in un programma.

Riepilogo

Ognuna delle tre categorie include diversi altri pattern di progettazione che i programmatori possono usare. Sebbene i pattern forniscano modelli utili agli sviluppatori di software, a volte vengono criticati perché ritenuti non necessari o non abbastanza specifici per determinate applicazioni. Pertanto, sebbene i pattern di progettazione siano strumenti utili per la programmazione, non è necessario seguirli alla lettera per creare un programma software ben progettato.

Aggiornato July 21, 2016 da Per C.

quizMetti alla prova le tue conoscenze

Which of the following is not a stage of the System Development Lifecycle?

A
Planning
0%
B
Building
0%
C
Compiling
0%
D
Testing
0%
Correct! Incorrect!     View the SDLC definition.
More Quizzes →

Il dizionario informatico Tech Terms

La definizione di Pattern di progettazione in questa pagina è una definizione originale scritta dagli autori di TechTerms.com. Se desideri fare riferimento a questa pagina o citare questa definizione, utilizza la barra di citazione verde direttamente sotto la definizione.

Il nostro obiettivo è spiegare la terminologia informatica in modo semplice e comprensibile. Ci impegniamo per l'accuratezza e la semplicità in ogni definizione pubblicata. Se hai commenti o vuoi suggerire un nuovo termine tecnico, contattaci.

La newsletter di Tech Terms

Migliora le tue conoscenze tecniche con la nostra newsletter giornaliera o settimanale! Iscriviti oggi e ricevi nuovi termini e quiz nella tua casella di posta.

Iscriviti alla newsletter gratuita di TechTerms

Con quale frequenza desideri ricevere un'e-mail?

Puoi annullare l'iscrizione o modificare la frequenza in qualsiasi momento tramite i link presenti in ogni e-mail. Domande? Contattaci.

Nota: La newsletter viene inviata in inglese.