静态代理模式
静态代理
图形化理解

定义租房接口Rent
package cn.lucky.Proxy;
/**
* @author lucky
*/
public interface Rent {
public void rent();
}
定义房东Host接口实现类
package cn.lucky.Proxy;
/**
* @author lucky
*/
public class Host implements Rent{
@Override
public void rent() {
System.out.println("房东要出租房子");
}
}
定义中介Proxy接口实现类
package cn.lucky.Proxy;
/**
* @author lucky
*/
public class Proxy implements Rent{
private Host host;
public Proxy(Host host) {
this.host = host;
}
@Override
public void rent() {
seeHouse();
host.rent();
fare();
}
public void seeHouse(){
System.out.println("中介带你看房子");
}
public void fare(){
System.out.println("收中介费用");
}
}
定义用户Client类,完成租房
package cn.lucky.Proxy;
/**
* @author lucky
*/
public class Client {
public static void main(String[] args) {
Host host = new Host();
Proxy proxy = new Proxy(host);
proxy.rent();
}
}
测试结果

静态代理模式,组合模式
好处:
- 可以使真实角色的操作更加纯粹!不用去关注一些公共业务
- 公共的业务由代理来完成 . 实现了业务的分工
- 公共业务发生扩展时变得更加集中和方便
缺点 :
- 类多了 , 多了代理类 , 工作量变大了 . 开发效率降低

浙公网安备 33010602011771号