Java多线程(五)多线程中的静态代理

导读:本篇文章讲解 Java多线程(五)多线程中的静态代理,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言

静态代理属于设计模式中的代理模式。反之则有动态代理,本篇文章不展开讲,有兴趣的可自行谷歌研究研究。
其实继承Thread也属于静态代理的一种,所以在这里学习静态代理有助于我们学习多线程。

一、静态代理

  • 实际案例:买房

    • 买房人 我
    • 买房办理人 中介
    • 共同的行为 买房
  • 代码实现案例:

class MyI implements BuyHouse {

    //对我来说,我只需负责拿钱,签字即可
    @Override
    public void Buy() {
        System.out.println("一百万,签合同,房子是我的了!");
    }
}

class Agent implements BuyHouse{
    private BuyHouse buyHouse;
    
    public Agent(BuyHouse buyHouse){
        this.buyHouse = buyHouse;
    }

    //先帮我准备合同等材料
    public void work1(){
        System.out.println("准备合同等材料~");
    }
    //带我去房管局办理手续
    public void work2(){
        System.out.println("带着客户去办手续~");
    }

    //中介收了我的钱,他得帮我准备购房材料,带着我跑购房流程等等
    @Override
    public void Buy() {
        work1();
        work2();
        //客户买房
        buyHouse.Buy();
    }
}
  • 执行结果如下:
    在这里插入图片描述

  • 结论:

    • 本质上还是相当于把业务分开,降低程序的耦合性,不管是中介还是我,最终的目的都是买房,我只关注于买房的业务,其他业务无需管,而中介需要准备材料,准备合同,带我去房管局等一系列流程。

Java多线程扩展:Java多线程学习汇总

路漫漫其修远兮,吾必将上下求索~
如果你认为i博主写的不错!写作不易,请点赞、关注、评论给博主一个鼓励吧**转载请注明出处哦**

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/17110.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!