设计模式与足球(一)
今天晚上2012年欧洲杯决赛(西班牙 VS 意大利),作为一名铁杆球迷,偶当然不会错过(请不要让我来预测比分,我不是章鱼,更何况这两个队我都非常喜欢,输赢我都很淡定, ),在静候决赛的这段时间,突然萌发一个想法,将设计模式跟足球联系到一起写点啥,就像当年那篇知名度极高的《追MM与设计模式》一样,以供娱乐! ,话不多说,即刻动手! 创建型模式 (1) 工厂方法模式 :近年来大型足球比赛(世界杯和欧洲杯)的指定用球都是阿迪达斯的(据说是签了合同的),当然 Adidas足球 是由 Adidas 公司生产的,除此之外,Nike公司也生产Nike足球,KAPPA(背靠背)公司也生产背靠背足球,足球生产商是工厂,足球是产品。增加一种新的足球品牌,对应需要增加一个新的生产商。 工厂方法模式(Factory Method):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式使一个类的实例化延迟到其子类。 (2) 抽象工厂模式 : Adidas 工厂除了生产 Adidas足球外,还生产 Adidas球鞋、球服、球袜(adidas is all in);Nike工厂也生产Nike足球、球鞋、 球服 、球袜等,在此,Adidas和Nike是工厂,同一品牌的 足球 、 球鞋、 球服 、 球袜构成了一个产品族,一个工厂可以生产一族产品,而不只是一种产品。 抽象工厂模式(Abstract