Proxy pattern: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Protection proxy in java
m Altri progetti: Aggiunto il parametro "Preposizione" nel template "Interprogetto"
 
(10 versioni intermedie di 8 utenti non mostrate)
Riga 13:
===Virtual proxy (in Java)===
 
Il seguente esempio [[Java (linguaggio di programmazione)|Java]] illustra il pattern "virtual proxy". L'output del programma è:
Loading HiRes_10MB_Photo1
Displaying HiRes_10MB_Photo1
Riga 25:
La [[Classe (informatica)|classe]] <code>ProxyImage</code> è utilizzata per ritardare l'operazione (onerosa) di caricamento di un [[file]] dal disco finché il risultato di questa operazione non è effettivamente necessario. Se il file non è mai necessario, il caricamento risulta essere completamente eliminato.
 
<sourcesyntaxhighlight lang="java">
import java.util.*;
Riga 44:
System.out.println("Loading "+filename);
 
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
 
Riga 78:
image2.displayImage(); // no loading necessary; already done
image3.displayImage(); // loading necessary
 
}
}
</syntaxhighlight>
</source>
 
===Protection proxy===
Line 89 ⟶ 88:
In questo esempio '''thePassword''' è la password corretta
 
<sourcesyntaxhighlight lang="csharp">
using System;
 
Line 108 ⟶ 107:
}
}
 
public class ProtectionProxy : IClient
{
Line 147 ⟶ 145:
}
}
</sourcesyntaxhighlight>Segue lo stesso esempio implementato in [[Java (linguaggio di programmazione)|Java]], in questo caso le implementazioni dell'interfaccia <code>Client</code> sono <code>RealClientImpl</code> e <code>ProtectionProxyClientImpl</code> .<sourcesyntaxhighlight lang="java">
package fundamentalPatterns.protectionProxyPattern;
 
Line 200 ⟶ 198:
Client client = new ProtectionProxyClientImpl("thePassword");
System.out.println();
ConsoleSystemSystem.out.println("main received: " + client.getAccountNo());
}
}
</syntaxhighlight>
</source>
 
== Voci correlate ==
Line 209 ⟶ 207:
 
==Altri progetti==
{{interprogetto|preposizione=sul}}
 
==Collegamenti esterni==
*{{cita web|1=http://wiki.java.net/bin/view/Javapedia/ProxyPattern|2=Proxy pattern in Java|lingua=en|accesso=11 giugno 2008|urlarchivio=https://web.archive.org/web/20100428080722/http://wiki.java.net/bin/view/Javapedia/ProxyPattern|dataarchivio=28 aprile 2010|urlmorto=sì}}
*{{cita web|1=http://www.lepus.org.uk/ref/companion/Proxy.xml|2=Proxy pattern in UML e in LePUS3 (un linguaggio di modellazione formale)|lingua=en|accesso=11 giugno 2008|urlarchivio=https://web.archive.org/web/20111003001610/http://www.lepus.org.uk/ref/companion/Proxy.xml|dataarchivio=3 ottobre 2011|urlmorto=sì}}
 
{{Design Patterns Patternspattern}}
 
[[Categoria:PatternDesign pattern]]