1.代理模式的含义
代理是一种结构设计模式,其作用就是为其他对象提供一个代理,以控制对该对象的访问。
代理模式有三个角色-
1.抽象主题
2.代理主题角色
3.真实主题角色
2.讲解代理模式
| 类型 | 例子 |
|---|---|
| 远程代理 | 我想买一瓶国外的红酒(国内买不到),我自己也不想去,找国外的朋友帮我买一瓶一模一样国内买不到的国外的红酒 |
| 虚拟代理 | 大型图片的加载,我不看时,希望他小一点,使用一个轻量的替身,想看时,点击替身可以访问它本身 |
| 保护代理 | 一个公司的内部文件,想要访问,需要有相应的权限才可以进行访问 |
| 缓冲代理 | 第一次请求的对象数据存储在浏览器本地,也就是缓存,后续相同的请求直接返回结果 |
| 智能引用 | 广场上的共享充电宝,扫码解锁状态验证,计费这些,你如果不归还,会自动额外扣费 |
2.1远程代理例子讲解
如图所示,这是一个极为简化的类图
其实根据图所示,代理模式的作用就是不需要用户直接访问,通过一个媒介来访问真实主题
为什么要用这个媒介,因为他有真实主题没有的功能,但是用户却需要这些功能,所以才有了代理的存在