gpt4 book ai didi

java - 代理设计模式-tutorialspoint.com 示例

转载 作者:行者123 更新时间:2023-12-01 18:04:43 24 4
gpt4 key购买 nike

http://www.tutorialspoint.com/design_pattern/proxy_pattern.htm

嗨,

我希望使用示例中的示例来了解java中的代理设计模式上面的链接。在主要方法中我不明白以下之间的区别:

  //image will be loaded from disk

image.display();
System.out.println("");

//image will not be loaded from disk

image.display();

这是一个错字吗?相同的 2 个 image.display() 方法如何给出不同的输出?

非常感谢!

最佳答案

这不是拼写错误。如果您查看教程中 ProxyImage 的定义,它显然具有状态:

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();
}
}

第一次调用时,realImage为空,图像将从磁盘加载。之后,加载的图像将存储到image.realImage并显示。在第二次调用时,该图像已被缓存,因此不需要从磁盘加载。

关于java - 代理设计模式-tutorialspoint.com 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37555817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com