1、定义
为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。比如,租房的时候,中介就充当代理角色。
2、静态代理角色
抽象角色:通过接口或抽象类声明真实角色实现的业务方法。
真实角色:被代理的角色,实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。
代理角色:代理真实角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。
3、实例分析
我们以租房子为例子来解释什么叫静态代理。
HostRent.java 抽象角色类。
1 public interface HostRent { 2 //租房方法 3 public void rent(); 4 }