代理模式的适用场景
代理模式:为其他对象提供一种代理,以控制对这个对象的访问。
主要使用场景有:远程代理,安全代理
参与者:
Subject: 抽象角色。声明真实对象和代理对象的共同接口。
RealSubject: 真实角色。它代表着真实对象,是我们最终要引用的对象
Proxy: 代理角色。代理对象与真实对象实现相同的接口,所以它能够在任何时刻都能够代理真实对象。代理角色内部包含有对真实对象的引用,所以她可以操作真实对象,同时也可以附加其他的操作,相当于对真实对象进行封装。
这个模式很简单,以demo举例 Demo是写的安全代理。
readSubject类已经将所有的功能都实现了.
Proxy判断是否有权限修改,有权限交给readSubject对象处理,没有权限则返回.
Demo: