代理模式:
通俗的理解为你要做一件事情,代理可以帮你完成。例子一:如家里来客人了,你要招待客人,然后做饭,但是你可能觉得自己无法完成一桌子菜,所以你可以带着客人去饭店吃饭,饭店就把菜帮你做好了,你只需要陪着聊天玩游戏,做饭就交给饭店了。例子二:你要开个公司,首先要办理营业执照,但是你又不知道具体流程,这时候就可以找代理公司代办,这都是代理模式
实现流程:
一个公共接口 Cooking 烹饪
两个实现类 My() 我; Restaurant(); 饭店
public class Test {
public static void main(String[] args) {
new Restaurant(new My()).cooking();
}
}
interface Cooking{
void cooking();
}
class My implements Cooking{
public void cooking(){
System.out.println("聊天、打游戏");
}
}
class Restaurant implements Cooking{
//真实角色
private Cooking target;
public Restaurant(Cooking target){
this.target = target;
}
@Override
public void cooking() {
readyFood();
this.target.cooking();
clean();
}
public void readyFood(){
System.out.println("准备食材");
}
public void clean(){
System.out.println("收拾餐桌");
}
}
//打印输出
//准备食材
//招待客人
//收拾餐桌