代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是中介。
代理模式的分类: 静态代理和动态代理
静态代理是在程序编译阶段就确定了代理对象。
而动态代理是在程序运行阶段才确定代理对象
代理模式的特点:
代理模式中代理类和委托类是具有相同的接口。
代理类的主要职责就是为委托类预处理消息,过滤消息等功能的实现。
代理类的对象本身并不是真正的实现服务,而是通过委托类的对象的相关方法,来提供特定的一些服务。
代理类和委托类之间存在关联关系,一个代理类的对象和一个委托类的对象相关联。
访问实际对象,是通过代理对象来访问的。