INFORMATIC TECHNOLOGY

Il pattern Prototype

PROGETTAZIONE SOFTWARE


Il pattern Prototype è un pattern creazionale basato su oggetti. Il suo scopo è creare un oggetto copiando un'istanza prototipo, la quale specifica appunto la tipologia di oggetti da creare.
Si pensi alla creazione di componenti grafici (finestre, button, link, etc). Per aggiungere oggetti nell'applicazione, l'operazione da compiere è sempre la stessa (pressione di un tasto), cambia solo il tipo di oggetto. La soluzione basata sul pattern prototype consiste nel configurare l'oggetto responsabile della creazione (il tasto) con un prototipo dell'oggetto da creare.

Struttura del pattern:

• Client: crea un nuovo oggetto invocando il metodo clone su un istanza prototipo.
• Prototype: specifica l'interfaccia che consente la clonazione.
• ConcretePrototype: Implementa l'operazione di clonazione.

Il metodo clone deve comportarsi come una copia in profondità (deep copy), in modo che la copia di un oggetto composto implichi la copia delle sue sottoparti. Molti linguaggi di programmazione utilizzando una copia semplice (shallow copy) e l’operazione clone deve essere ridefinita dal programmatore.

Esempio codice Java:

Shallow copy:

public class Punto2D implements Cloneable {
 private double x, y;
 ...
 @Override public Punto2D clone(){
  try{ Punto2D p = (Punto2D) super.clone(); return p;}
  catch(CloneNotSupportedException e){ }
 }
}

Categorie Post


Sicurezza

Dalla crittografia all'anonimato, dallo scambio di messaggi agli antivirus. Vediamo come funziona la sicurezza digitale.

Internet

Tutto ciò che ci circonda è sempre più connesso ad internet, vediamo come e cosa c'è dietro la rete che ha cambiato il nostro mondo.

Programmazione

Raccolta di frammenti di codice, plugin, script, linee guida e tutto ciò che c'è da sapere sulla programmazione.

Progettazione Software

Come vengono progettati software complessi? Dietro c'è lavoro di team e tanta organizzazione. Cerchiamo di esaminarne i concetti principali.

Elettronica

Esaminia i componenti elettronici principali che ci permettono di utilizzare qualsiasi cosa di digitale, e non solo, al giorno d'oggi.

Mobile

Tutto ciò che riguarda il mondo dei cellulari e tablet con un occhio di riguardo al modding.