Day archives: 24 3 月, 2024

设计模式与足球(一)-CSDN博客

今天晚上2012年欧洲杯决赛(西班牙 VS 意大利),作为一名铁杆球迷,偶当然不会错过(请不要让我来预测比分,我不是章鱼,更何况这两个队我都非常喜欢,输赢我都很淡定,),在静候决赛的这段时间,突然萌发一个想法,将设计模式跟足球联系到一起写点啥,就像当年那篇知名度极高的《追MM与设计模式》一样,以供娱乐!,话不多说,即刻动手!创建型模式(1) 工厂方法模式:近年来大型足球比赛(世界杯和欧洲杯)的指定用球都是阿迪达斯的(据说是签了合同的),当然Adidas足球是由Adidas公司生产的,除此之外,Nike公司也生产Nike足球,KAPPA(背靠背)公司也生产背靠背足球,足球生产商是工厂,足球是产品。增加一种新的足球品牌,对应需要增加一个新的生产商。工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式使一个类的实例化延迟到其子类。(2) 抽象工厂模式:Adidas工厂除了生产Adidas足球外,还生产Adidas球鞋、球服、球袜(adidas is all in);Nike工厂也生产Nike足球、球鞋、球服、球袜等,在此,Adidas和Nike是工厂,同一品牌的足球、球鞋、球服、球袜构成了一个产品族,一个工厂可以生产一族产品,而不只是一种产品。抽象工厂模式(Abstract Factory): 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。(3) 单例模式:在比赛过程中(在场上的,替补不算)每个球队的守门员有且仅有一个,肯定不会有两个穿相同球衣的守门员同时上场,这不是单例吗?如果布冯或者卡西能出场,还有哪个意大利或者西班牙守门员敢去跟他们抢首发呢??布冯你是唯一的!卡西,你也是!当然,皮尔洛也是,哈维也是,小法也是,巴神也是……原来有这么多单例。单例模式(Singleton): 保证一个类仅有一个实例,并提供一个访问它的全局访问点。(4) 建造者模式:如果我要一套完整的意大利国家队足球装备(除球鞋,这个貌似没有统一):包括球衣、球裤、球袜,只需跟某专卖店销售人员说一下(想象,想象……):我要一套意大利队的足球装备,大小为XL,返回给你的是一套经典的蓝色意大利国家队队服,包括蓝色的足球袜;当然你

阿根廷夺冠,梅西金球奖姆巴佩金靴,马丁内斯用金手套做不雅动作|里奥梅西|恭喜梅西|2022年世界杯_网易订阅

备受瞩目的卡塔尔世界杯决赛,阿根廷vs法国,比赛过程也是跌宕起伏,常规时间及加时赛,均打平,点球大战中阿根廷胜出(4比2),总比分7比5,阿根廷夺得大力神杯。梅西还夺得金球奖,而法国队姆巴佩夺得金靴奖,阿根廷门将马丁内斯夺得金手套,不过他用金手套做了不雅动作。阿根廷vs法国,第22分钟,迪玛利亚被登贝莱放倒,阿根廷获得点球,梅西罚中点球,阿根廷1比0领先。而梅西也成为首位世界杯淘汰赛阶段每场比赛都有进球的球员。第35分钟,梅西策动进攻,麦卡利斯特横推,天使迪玛利亚小角度推射破门,阿根廷2比0领先。第79分钟,奥塔门迪将科洛穆阿尼放倒,法国获得点球,姆巴佩将点球轰入死角,法国1比2。此后不久,姆巴佩和小图拉姆打出精彩配合,姆巴佩凌空扫射,破门并扳平比分,双方打成2比2。加时赛中,劳塔罗劲射被扑出,梅西跟进补射破门,阿根廷再度超出,而第117分钟,蒙铁尔手球,姆巴佩点球再中,上演了帽子戏法,并再度扳平比分,双方打成3比3。加时最后时刻,马丁内斯神扑单刀