代理模式
代理模式是一种结构型设计模式, 让你能够提供对象的替代品或其占位符。 代理控制着对于原对象的访问, 并允许在将请求提交给对象前后进行一些处理。
结构
代理模式的结构比较简单。为了让客户端能够一致地对待真实对象和代理对象,我们引入了抽象层。
需求&差代码
在你的游戏里,你负责开发一个联机的类塞尔达相簿系统。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W7ge9P23-1676261446330)(null)]
这些图片都是存在服务端的,现在要求你开发一个ImgDownloader,把接口给UI制作人员以供他调用。
public class ImgDownloader{
public bool DownLoadImg(int id){
//把id发给后端,等后端把文件流传回来,再把文件流写入相册
return true;
}
}
你三下五除二写好了,接口也给出去了,测试都测好了。
结果服务端找过来了。
服务端:“欸大哥,你这玩意儿性能开销有点大啊。玩家每次点击图片你都给下载,我服务器都要被搞挂了。你加个缓存机制吧”
你:”有道理,策划怎么也不提要做个缓存呢?考虑