設計模式與足球(一)

2021-10-02 20:23:12 字數 1177 閱讀 2185

建立型模式

工廠方法模式(factory method):定義乙個用於建立物件的介面,讓子類決定將哪乙個類例項化。工廠方法模式使乙個類的例項化延遲到其子類。

(2) 抽象工廠模式:adidas工廠除了生產adidas足球外,還生產adidas球鞋、球服、球襪(adidas is all in);nike工廠也生產nike足球、球鞋、球服、球襪等,在此,adidas和nike是工廠,同一品牌的足球、球鞋、球服、球襪構成了乙個產品族,乙個工廠可以生產一族產品,而不只是一種產品。

抽象工廠模式(abstract factory): 提供乙個建立一系列相關或相互依賴物件的介面,而無須指定它們具體的類。    

(3) 單例模式:在比賽過程中(在場上的,替補不算)每個球隊的守門員有且僅有乙個,肯定不會有兩個穿相同球衣的守門員同時上場,這不是單例嗎?如果布馮或者卡西能出場,還有哪個義大利或者西班牙守門員敢去跟他們搶首發呢??布馮你是唯一的!卡西,你也是!當然,皮爾洛也是,哈維也是,小法也是,巴神也是......原來有這麼多單例。

單例模式(singleton): 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。

(4) 建造者模式:如果我要一套完整的義大利國家隊足球裝備(除球鞋,這個貌似沒有統一):包括球衣、球褲、球襪,只需跟某專賣店銷售人員說一下(想象,想象......):我要一套義大利隊的足球裝備,大小為xl,返回給你的是一套經典的藍色義大利國家隊隊服,包括藍色的足球襪;當然你的朋友可以說他要一套西班牙隊的足球裝備,返回給他的是一套紅色的鬥牛士足球裝備,襪子,當然也是紅的。在此,銷售人員相當於建造者模式中的指揮者(director),他向使用者返回乙個複雜產品(足球裝備),該複雜產品由多個部件組成(球衣、球褲、球襪等),使用者無須關心具體組裝過程即可得到乙個完整的複雜產品。

建造者模式(builder): 將乙個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

(5) 原型模式:無論是足球還是球服,都是批量生產的,例如2023年歐洲盃的指定用球adidas 探戈12(tango 12),先做乙個原型(模板),然後照著生產就好了,想要多少就生產多少。

原型模式(prototype):用原型例項指定建立物件的種類,並且通過拷貝這個原型來建立新的物件。

設計模式與抽象 一

設計模式 無數碼農前人在實際的生產專案中經過不斷的踩坑 爬坑 修坑的經歷總結出來的經驗教訓,經過抽象之後表達成的概念。理解 不好理解,實際上並不是你看不懂,而是你不明白為何要如此 故弄玄虛 這個很好明白,等你真正經歷大型專案開發 迭代 重構 甚至重寫之後,你就會贊同這些能寫出設計模式的人,是多麼的 ...

足球與大資料

前幾天看到一則新聞 樂視體育控股蒐達足球,要知道蒐達足球可在足球的大資料領域深耕了12年,是中國最早做足球大資料的公司,這一收購控股也更深刻的預示著大資料已經是推動網際網路產業發展的重要增長極,足球大資料也深刻的影響著足球產業。其實足球與大資料的結合在國外已經有了相當大的發展,2014年德國戰車世界...

設計模式 設計原則與設計模式

一切設計都為了 的可擴充套件性和可讀性,都為了應對變化!我們是基於設計原則的思想,來選擇設計模式去實現,可讀,可擴充套件的目標!核心設計思想 對擴充套件開放,對修改關閉。含義 抽象可變功能,可變功能通過子類擴充套件實現,避免對已有抽象實現的修改。優點 便於擴充套件 核心設計思想 單個方法或單個類或單...