J'ai un petit problèe de compréhension de ce design pattern...
J'ai comprit (a peu pres) le pricipe, qui conciste à appliquer sur le proxy plutot que sur l'objet les methodes que l'on veut.
Sur cet exemple :
Code :
- /** Interface représentant un espace de dessin */
- public interface Canvas {
- /** Ajout d'un objet graphique */
- public void addGraphicElement( GraphicElement ge );
- }
- /** Proxy pour l'espace de dessin */
- public class CanvasProxy implements Canvas {
- private Canvas c;
- public CanvasProxy( Canvas c ) {
- this.c = c;
- }
- public void addGraphicElement( GraphicElement ge ) {
- c.addGraphicElement( ge );
- }
- }
|
Je ne comprend pas tres bien ce que fait la dernière ligne (c.addGraphic...(ge); ) vu que cette methode n'est pas définie :s
voici mon ptit prog pour essayer ce cas :
"main"
Code :
- public static void main(String[] args) {
- interf_objet obj = null;
- clas_obj oo = new clas_obj(obj);
- oo.modif();
- oo.donne();
- }
|
"interface"
Code :
- public interface interf_objet {
- public void modif();
- public int donne();
- }
|
"Proxy"
Code :
- public class clas_obj implements interf_objet {
- private interf_objet po;
- public clas_obj(interf_objet po2){
- po = po2;
- }
- public void modif() {
- // TODO Auto-generated method stub
- System.out.println("Modif ..." );
- po.modif();
- }
- public int donne() {
- // TODO Auto-generated method stub
- System.out.println("Donne ..." );
- return po.donne();
- }
- }
|
Merci de m'eclairer
---------------
.