1 代理模式
2 实现代码
interface Image{
public void draw();
}
class RealImage implements Image{
private String name;
public RealImage(String name){
this.name = name;
}
@Override
public void draw() {
System.out.println(name);
}
}
class ProxyImage implements Image{
private RealImage realImage;
private String name;
public ProxyImage(String name){
this.name = name;
}
@Override
public void draw() {
if (realImage == null){
realImage = new RealImage(name);
}
realImage.draw();
}
}
public class Test{
public static void main(String[] args){
Image image = new ProxyImage("Mona Lisa");
image.draw();//第一次new
image.draw();//不new了
}
}