PATRONES DE DISEÑO: PROXY VIRTUAL
Posted: lunes, 26 de diciembre de 2011 by Skuarch in Etiquetas: patrones de diseño, proxy virtual
0
Proxy virtual se utiliza para no tener que estar creando objectos constantemente, especialmente si estos objetos son dificiles o costosos de hacer, un ejemplo de un objeto costoso puede ser la carga de una imagen y la imagen es de un gran tamano, para poder utilizar este patron de diseno se siguen estos pasos.
Crear una clase abstracta
public abstract class Graphic {
public void draw();
}
Creamos una clase que herede de la clase abstracta y sobre escriba el unico metodo de la clase padre
Asi evitaremos que se esten creando objetos constantemente
public class Image extends Graphic {
public void draw() { ... }
}
Ahora crearemos una tercera clase que tambien herede de la clase abstracta, tambien sobre escribira el
mismo metodo pero este se asegura de que el objecto no haya sido creado anteriormente
public class ImageProxy extends Graphic {
private Image _image;
private String _fileName;
public ImageProxy (String fileName) {La forma de de utilizar este patron de diseno es la siguente:
_fileName = fileName;
_image = null;
}
public void draw () {
if (_image==null)
_image = loadImage(_fileName);
_image.draw();
}
}
Graphic g = new ImageProxy(“imagen.gif”);
Asi evitaremos que se esten creando objetos constantemente