ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

北京喜提初雪,Edg喜夺冠军

2021-11-07 17:35:10  阅读:168  来源: 互联网

标签:execute Edg 喜提 木子 夺冠军 void facade new public


随着冷空气的来袭,北京迎来了第一场雪。

随着英雄联盟S11比赛的结束,EDG拿到了期盼已久的冠军。

有人可能不看英雄联盟的比赛,包括我。

但是这无所谓。

我们看一下EDG的夺冠路程:

s4:八强

s5:八强

s6:八强

s7:十六强

s8:八强

s9:N强

s10:N强

s11: 冠军

或许这跟很多人的人生一样,刚开始在小学、初中成绩很不错。

但是到了高中人才多了之后自己成绩开始落后,随着大学的到来可能稍微努努力成绩就会排在前边。

但是一旦到了社会,你会发现你的地位(单指能力)会处在很多人之下。

所以这时候你会放弃吗?

EDG没有放弃,s9、s10他们什么都没有得到,但是他们依旧坚持。

经过不懈的努力他们终于在s11夺冠。

我们没有什么理由可以不努力。

好了,鸡血走一波之后我们继续今天的知识点学习。

今天我们来学一个设计模式:门面模式

这个模式很简单,但是我们要想一个故事来描述一下

一、当官不为民做主。不如回家卖红薯

举个例子(这是一个假设例子,请勿对号入座)你去补办身份证的时候,人家说你得先去A部门证明你是你,结果人家5点下班,你4点30去了,人家不帮你办理了,你第二天再去吧。

第二天早上9点就去了,结果人家是10点上班,然后人家10点全体开会,等到了中午,然后中午工作人员都去吃饭了,你也不敢去吃饭,怕别人插到你前边,于是你就啃着馒头在窗口前等到了下午,终于办了你是你的证明。

第三天你拿着A部门的证明去补办身份证,结果被告知你还得拿户口本。于是你连夜坐火车回老家找父母拿了户口本。

第四天你拿着A部门证明+户口本去补办身份证的时候被告知,农村户口需要本村证明。你刚坐火车从老家拿户口本回来,这时候心中是不是一万个草泥马飞奔而过。你就问工作人员,为什么不早点儿给我说,工作人员说:你又没问我。我TMD…

于是你又连夜坐火车回老家开了一个证明。

第五天拿着A部门证明+户口本+户籍所在地证明来排队办理。

是这个样子的:

在这里插入图片描述

你就说烦不烦。

如果有这样一个部门多好,你进去之后只需要填写表格,然后等待,工作人员会帮你把所有的事情处理好,因为现在信息都联网了,不需要来回奔波,于是就成了这样。

在这里插入图片描述

这样是不是方便多了,对喽,这个综合服务部门就是我们所谓的门面模式Facade ,他负责帮你与后边的系统协调沟通。

二、朝阳区大妈

话说朝阳区住着很多个明星,这些明星之间爱恨情仇相互交织。你根本分不清楚谁是谁的媳妇儿,谁是谁的小三,谁是谁的情儿。

这天他们莫名的在小区门口撞见了,于是就开始了争吵。

画面是这个样子的:

在这里插入图片描述

就问你乱不乱,这其实还好,娱乐圈可比这个链长、大、刺激。

这时候我们伟大的朝阳区大妈就来了,大妈说了你们有事儿全找我,我来帮你们解决。

于是就成了这样:
在这里插入图片描述

大妈这个角色叫什么呢,叫调停者Mediator

我们项目中什么时候需要这个大妈呢,最常见的就是我们的消息中间件MQ

还有我们这几年比较流行的数据中台

三、写代码

你觉得我会写一写代码来展示吗? 你错了!

我理解门面模式是在整个架构设计上使用比较好,在单个功能上可能不是很能体现它的价值。

但是身为程序员我怎么能不写个代码来表示表示

我们分这么几个类:

部门A、老家证明、老家户口本、补卡部门

package facade;

/**
 * @author 木子的昼夜编程
 */
public class HometownCertificate {
    public void execute(){
        System.out.println("老家证明");
    }
}

package facade;

/**
 * @author 木子的昼夜编程
 */
public class HomeAccountBook {
    public void execute(){
        System.out.println("老家户口本");
    }
}

package facade;

/**
 * @author 木子的昼夜编程
 */
public class DeptA {
    public void execute(){
        System.out.println("证明你是你!");
    }
}

package facade;

/**
 * @author 木子的昼夜编程
 */
public class CardReplacementDepartment {
    public void execute(){
        System.out.println("补卡部门");
    }
}

补卡流程:

package facade;

/**
 * @author 木子的昼夜编程
 */
public class Test {
    public static void main(String[] args) {
        // 耗时一天
        HometownCertificate hometownCertificate = new HometownCertificate();
        // 耗时一天
        HomeAccountBook homeAccountBook = new HomeAccountBook();
        // 耗时一天
        DeptA deptA = new DeptA();
        // 耗时一天
        CardReplacementDepartment cardReplacementDepartment = new CardReplacementDepartment();
        hometownCertificate.execute();
        homeAccountBook.execute();
        deptA.execute();
        cardReplacementDepartment.execute();
    }
}

改良后的补卡流程:

package facade;

/**
 * @author 木子的昼夜编程
 */
public class MyFacade {
    public void execute(){
        // 耗时一天
        HometownCertificate hometownCertificate = new HometownCertificate();
        // 耗时一天
        HomeAccountBook homeAccountBook = new HomeAccountBook();
        // 耗时一天
        DeptA deptA = new DeptA();
        // 耗时一天
        CardReplacementDepartment cardReplacementDepartment = new CardReplacementDepartment();
        hometownCertificate.execute();
        homeAccountBook.execute();
        deptA.execute();
        cardReplacementDepartment.execute();
    }
}

来补卡:

package facade;

/**
 * @author 木子的昼夜编程
 */
public class Test {
    public static void main(String[] args) {
        // 俩小时搞定
        MyFacade myFacade = new MyFacade();
        myFacade.execute();
    }
}

好了,结束了,下次再见。

不要忘记曾经的梦想,为之努力!

标签:execute,Edg,喜提,木子,夺冠军,void,facade,new,public
来源: https://blog.csdn.net/qq_36291682/article/details/121194153

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有