ExempleCh04_05_DPProxyRetourTélécharger Exemple du DP Proxy ExempleCh04_05.java // Exemple du DP Proxy public class ExempleCh04_05 { public static void main(String[] args) { Applicatif appImp = new ApplicatifImp(); Ihm ihm1 = new Ihm(appImp); System.out.println("SANS LE PROXY:"); ihm1.exemple(); ApplicatifProxy appProxy = new ApplicatifProxy (appImp,"LAFORGUE"); // Exemple d'utilisation du Proxy // Separation de l'ihm et de son applicatif Ihm ihm2 = new Ihm(appProxy); System.out.println("\nAVEC LE PROXY:"); ihm2.exemple(); } } class Ihm { private Applicatif app; public Ihm(Applicatif app) { this.app = app; } public void exemple() { System.out.println("------ exemple -----"); int x = app.getX(); int y = app.getY(); app.setX(100); app.traitement(); } } interface Applicatif { public int getX(); public int getY(); public void setX(int x); public void setY(int y); public void traitement(); } class ApplicatifImp implements Applicatif { private int x; private int y; public ApplicatifImp() { x=10; y=20; } public int getX(){System.out.println("getX");return x;} public int getY(){System.out.println("getY");return y;} public void setX(int x){System.out.println("setX");this.x=x;} public void setY(int y){System.out.println("setX");this.y=y;} public void traitement() { System.out.println("traitement"); } } class ApplicatifProxy implements Applicatif { private Applicatif app; private String qui; public ApplicatifProxy(Applicatif app, String qui) { this.app=app; this.qui = qui; } public int getX() { System.out.println("Appel a getX par " + qui); return app.getX(); } public int getY() { System.out.println("Appel a getY par " + qui); return app.getY(); } public void setX(int x) { System.out.println("Appel a setX par " + qui); app.setX(x); } public void setY(int y) { System.out.println("Appel a setY par " + qui); app.setY(y); } public void traitement() { System.out.println("Appel a traitement par " + qui); app.traitement(); } } compil.bat mkdir bin del /f /s /q bin\*.class javac -d bin *.java pause run.bat cd bin java ExempleCh04_05 pause