1.代理模式
(1) 为其它对象提供一种代理,以控制对这个对象的访问.
(2) 代理模式也叫委托模式,其它模式,如状态模式、策略模式、访问者模式,本质上是在更特殊的场合使用了代理模式。
2.代理模式通用类图
(1)Subject 抽象主题角色,可以是抽象类,也可以是接口,是一个普通的业务类型定义 (IGamePlayer)
(2)RealSubject 也叫被委托角色、被代理角色,它才是冤大头,是业务逻辑的具体执行者。(GamePlayer,具体执行业务)
(3)Proxy 也叫委托类、代理类,它负责对真实角色的应用,把所有Suject定义的方法限制,委托给真实角色(GamePlayer)实现,并在真
实角色处理前和处理后,做预处理和善后功能
3.优点
(1)职责清晰
(2)高扩展性
(3)智能化
4.使用场景
(1) 权限校验
(2)打印日志
(3)事务管理
5.第一阶段
(1)例子类图
(2) 接口类 Subjects
package com.design.代理模式.第一阶段; public interface IGamePlayer { void login(String username , String pwd); void killBoss(); void upgrade(); }