• Skip to main content
  • Skip to primary sidebar
Piccoli e Grandi Inventori Crescono

Piccoli e Grandi Inventori Crescono

Invenzioni e Soluzioni dalla Rete

Programmazione – Prototype Design Pattern

L’utilizzo di questo pattern permette la creazione di nuovi oggetti a partire da un oggetto iniziale, detto appunto prototipo. A differenza di altri pattern permette di specificare nuovi oggetti a run time, utilizzando un gestore di prototipi per salvare e reperire dinamicamente le istanze degli oggetti desiderati.

Come per gli altri pattern creazionali, lo scopo dell’applicazione del design pattern Prototype, è principalmente quello di separare il processo di creazione di un oggetto complesso dal flusso applicativo del client.

Il pattern Prototype risulta molto utile nei seguenti casi:

gli oggetti da creare sono noti soltanto a run-time per cui un codice statico non sarebbe utile.
quando desideriamo che le istanze di una classe abbiano un set limitato di stati per cui rimane più conveniente effettuare una clonazione di un prototipo corrispondente piuttosto che costruire manualmente l’oggetto ogni volta.
Le conseguenze dell’applicazione del pattern Prototype sono le seguenti:

Indipendenza dal metodo di creazione: il client utilizza soltanto l’interfaccia fornita dal pattern, disinteressandosi di cosa viene invocato e di come si realizza il processo di creazione.
Modularità a run-time: questa caratteristica consente ai client la possibilità di aggiungere un prodotto a run-time, rendendolo disponibile per la clonazione da parte di altri client. L’utilizzo di questa feature è delegata al prototype manager il quale è in grado di registrare e gestire un nuovo prodotto.

Definizione di nuovi oggetti tramite nuove rappresentazioni: quando si devono definire numerosi oggetti, che si distinguono esclusivamente per i valori che assumono le loro variabili interne, è molto più comodo effettuare una clonazione e impostare la configurazione desiderata piuttosto che costruire gli oggetti manualmente.
Definizione di nuovi oggetti modificandone la struttura: l’utilizzo di prototipi, nelle applicazioni che necessitano di oggetti composti da più parti ne facilitano la creazione e la gestione.
Non proliferazione delle sottoclassi: a differenza di altri pattern, nei quali è necessario creare un factory method e una gerarchia di classi corrispondenti a prodotti diversi, in questo caso occorre soltanto comporre struttura e valori.

L’implementazione di questo pattern prevede tre tipi di problematiche
l’implementazione di un gestore di prototipi, che sia in grado tramite una struttura associativa, di gestire la clonazione dei prototipi esistenti e di permettere l’aggiunta e la memorizzazione di nuovi prototipi.
l’implementazione di una copia profonda degli oggetti, che si occupi di clonare anche gli eventuali oggetti interni.
la predisposizione di un operazione di inizializzazione all’interno dei prototipi, che consenta di inizializzare in modo differente oggetti creati attraverso la clonazione.

Molto interessante.

Computer

Previous Post: « Programmazione – Abstract Factory Design Pattern
Next Post: Programmazione – Lazy Initialization Design Pattern »

Primary Sidebar

Categorie

  • Computer
  • Programmi Utili
  • Siti Utili
  • Telefonia

Ultimi Articoli

  • Visualizzare Velocità di Rete e Volume dei Dati in Tempo Reale
  • Riprendere Nebbia e Foschia con le Corrette Impostazioni
  • Come Evitare Correzioni Automatiche Errate in Word
  • Trasportare le Voci di Glossario su una Nuova Versione di Word
  • Come Copiare Testo Senza Formattazione in Word

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.OkLeggi di più