從超市購物體驗封裝思想的偉大

weixin_33724059發表於2018-07-16

動機

今天鬧了一天的肚子,下午總算緩過來了,再加上最近體重又有些飆升,決定不再亂吃東西,準備給自己做每天的健身餐,既然目標已經明確,接下來用TDD的方式拆分Task

1.減脂,又抗餓的主食

2.低糖,低脂,膳食纖維又多又不長肉的蔬菜。

3.補充蛋白質,低油低脂肪的肉類和飲品

快速通過身健身軟體找到減肥最佳主食,最後選擇了藜麥,由於實體店沒有,在萬能的大淘寶上完成了第一個Task

尋找不長肉的蔬菜,通過百度,最後鎖定了西蘭花,麻山藥,紅薯

接下來對比了豬肉,牛肉,雞肉……發現雞胸肉是物美價廉而且非常適合健身人士享用,飲品選擇脫脂牛奶

去超市

藜麥在網上購買了,可是蔬菜,肉類還是決定去超市購買,這時候一個有意思的事情發生了,去超市的時候我即沒有拎個籃子,也沒有推個車,赤手空拳就殺了進去,這下可好畫面如下

左手抱著兩盒脫脂牛奶在胸前,還拎著一瓶橄欖油,右手抱著半米高麻山藥,還要拿著雞胸,順便給自己買了點水果,這些全都是雙手抱著,當時的感覺糟糕透頂。

9114336-2fe660b7463a3b14.jpeg
鐵桿麻山藥

聯想到封裝

用了好大的力氣終於到了收款臺,我做的第一件事就是買個塑料袋,當我結賬後拎著塑料袋就在想這不就就是封裝麼。

我根本就不擔心塑料袋裡的食物是怎麼放置的,我想要的東西都在我的塑料袋裡,我想拿什麼,只需要從塑料袋取就行。

思考計算機的發展

計算機技術的發展也和這個思想緊密相連,比如出現的各種個樣的語言React,angular……移動作業系統android,IOS無不被這個思想影響著

1.從程式式程式設計到物件導向,過程式就好比我自己掌控了所有的食物,我要很清楚我哪個手拿著東西,哪個手還有地方放置東西,我必須要知道到所有細節,否則我就會出簍子,拿不了更多的東西(系統已經無法掌控)或者丟東西(Bug)。

2.物件導向也可以寫出過程式程式碼,就拿Java來說,拋開函式不說,最小的塑料袋是類,但是塑料袋的承載是有限的,如果承載更多的東西就也會引發災難(過大的類),而避免這種情況發生,就需要用更多的類分擔這些風險,但是類多了也會有災難,一個人也不可能拎著幾百個塑料袋,這時候就出現了包(package)來封裝這些塑料袋,包多了就用模組(Modular)來裝這些包,模組多了咋辦,可以想象微服務,docker……等等這些很潮的技術都是為解決問題而誕生了,而它們解決的問題始終沒有變,就是封裝起來。

完結

我的Idol王健說過一句關於TDD話,我們可以不把事情拆小,但是我們要具備可以把事情拆小的能力,有人說重構已死,面嚮物件語言已死,但是它們的思想一直伴隨在我們的身邊,未來肯定會越來越好,將來我們可能真的不再重構,可能機器幫我們寫程式碼,可能需要什麼功能只需要在雲上直接進行可插拔的更換即可,可是這些想法就是從根本的思想(封裝)發展而來,要這個能力,或許才能真的有可能理解小到重構,設計模式,大到微服務,雲..

最後share下自己的健身餐


9114336-7ac390279f035164.jpeg
顏值不太高的健身餐

相關文章