设计模式之代理模式
Last updated
Last updated
package com.zlw.demo;
public class RealImage implements Image{
private String filename;
public RealImage(String filename) {
this.filename = filename;
loadFromDisk(filename);
}
@Override
public void display() {
System.out.println("Displaying: " + filename);
}
private void loadFromDisk(String filename) {
System.out.println("Loading: " + filename);
}
}package com.zlw.demo;
public class ProxyImage implements Image{
private RealImage realImage;
private String filename;
public ProxyImage(String filename) {
this.filename = filename;
}
@Override
public void display() {
if(realImage == null) {
realImage = new RealImage(filename);
}
realImage.display();
}
}package com.zlw.demo;
public class ProxyPatternDemo {
public static void main(String[] args) {
Image image = new ProxyImage("image001.jpg");
image.display();
}
}