, 具体主题角色是随时都会发生变化的, 只要它实现了接口, 甭管它如何变化, 都逃不脱接口, 我们的代理类完全就可以在不做任何修改的情况下使用
智能化
代理模式的使用场景:
为什么要用代理模式呢?...就比如打官司, 为什么要找个律师?...屏蔽了真实角色的变更对高层模块的影响, 真实的角色想怎么修改就怎么修改,对高层次的模块没有任何的影响, 只要你实现了接口所对应的方法,该模式非常适合对扩展性要求极高的场合.
2.强制代理
强制代理就是调用者直接调用真是角色..., 而不用关心代理是否存在,其代理的产生是由真实角色决定的, 也就是说强制代理不管你是通过代理类还是通过直接new一个角色类, 都不能访问, 只有通过真是角色指定的代理类才可以访问, 也就是说真实对象管理代理角色...高层模块只要调用getProxy就可以访问真实角色的所有方法, 代理的管理已经由真实角色自己完成
3.个性代理类
代理类也可以实现其他接口,实现其他方法,当然也可以代理多个真实角色,并且真实角色之间可以有耦合关系