0
点赞
收藏
分享

微信扫一扫

【JAVA长虹键法】第八式 代理模式(23种设计模式)

Java旺 2022-04-14 阅读 58

🔎这里是JAVA长虹键法,关注我学习JAVA不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

🗡专栏介绍

【JAVA长虹键法】 主要讲了23种设计模式,本系列专栏会以虹猫蓝兔七侠传的故事为例来给大家详细分析所有模式,希望能给大家带来帮助!

🗡本期介绍

模式: 代理模式
案例: 大奔代干娘卖酒

文章目录


在这里插入图片描述

👀什么是代理模式

代理模式的定义: 由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。

🗡优点

🗡缺点

🗡知识点

👀建造者模式实现

案例: 大奔代干娘卖酒
抽象主题(Subject)类:卖酒
真实主题(Real Subject)类:干娘的酒馆
代理(Proxy)类:大奔的酒摊

🗡卖酒

public interface Jiu {
    void show();
}

🗡干娘的酒馆

public class GanNiang implements Jiu {
    private String name;

    GanNiang() {
    }

    GanNiang(String name) {
        this.name = name;
        aa();
    }

    @Override
    public void show() {
        System.out.printf("卖出一坛%s", name);
    }

    public void aa() {
        System.out.println("大奔来摆摊了");
    }
}

🗡大奔的酒摊

public class DaBen implements Jiu {
    private String name;
    private GanNiang ganNiang;

    DaBen() {
    }

    DaBen(String name) {
        this.name = name;
    }

    @Override
    public void show() {
        if (ganNiang == null) {
            ganNiang = new GanNiang(name);
        }
        ganNiang.show();
    }
}

🗡测试

public class Demo {
    public static void main(String[] args) {
        DaBen daBen = new DaBen("女儿红");
        daBen.show();
        System.out.println();
        System.out.println();
       
        daBen.show();
    }
}

在这里插入图片描述

👀总结

👀下期预告

模式: 适配器模式
案例: 虹猫利用火晶石催发火舞旋风剑气
在这里插入图片描述

长虹键法怎么能断更呢😎
由于参加了原力计划所以这段时间一周一更

举报

相关推荐

0 条评论