设计模式-静态代理

代理模式:

通俗的理解为你要做一件事情,代理可以帮你完成。例子一:如家里来客人了,你要招待客人,然后做饭,但是你可能觉得自己无法完成一桌子菜,所以你可以带着客人去饭店吃饭,饭店就把菜帮你做好了,你只需要陪着聊天玩游戏,做饭就交给饭店了。例子二:你要开个公司,首先要办理营业执照,但是你又不知道具体流程,这时候就可以找代理公司代办,这都是代理模式

实现流程:

一个公共接口 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("收拾餐桌");
    }
}

//打印输出
//准备食材
//招待客人
//收拾餐桌

以上为个人理解,如有问题欢迎指正

猜你喜欢

转载自blog.csdn.net/hejunfei/article/details/108775395
今日推荐