代理模式:从字面上就很好理解,就是替别人做不想亲自动手做的事情,因此显然代理类中需要包含一个要代理的类。拿送外卖来说,我们下了订单,商家接收了订单并且做好了,但是商家不想自己动手将做好的食物送给我们,这时他们就得请一个所谓的代理,通过他们将食物送给我们。
可以很清晰的知道商家就是被代理的对象,送外卖的人就是商家的代理,他们都想要做一件事情那就是送食物给我们。
定义一个接口:SendFood.java
public interface SendFood{
void sendFood();
}
定义被代理对象:Business.java实现SendFood接口
public Business implements SendFood{
/**商家名*/
private String name;
@Override
public void sendFood(){
System.out.println("送食物");
}
public String getName(){
return name;
}
}
定义代理对象:Sender.java也实现SendFood接口
public Sender implements SendFood{
/**被代理的对象*/
private Business business;
public void sendFood(){
System.out.print("替" + business.getName());
business.sendFood();
}
}