《java与模式》-14 代理模式
代理模式是对象的结构模式,代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用;
智能引用代理
例:金融网站提供查询股票信息的功能,要使用该功能用户必须有权限,而且需要记录;
- 抽象和具体的划分,首先有一个抽象查询的角色 Searcher ,具体查询角色 RealSearcher;
- 辅助功能,两个辅助对象一个查询权限 AccessValidator,另一个做查询的计数器 UsageLogger;
- 引入代理角色
虚拟代理
当系统加载一个模块需要很长时间,系统要显示一段正在加载的信息,同时将模块加载,在模块加载后,将文字取消;
利用虚拟代理对象接收加载请求,并将真正主题的加载延缓到真正需要的时候;