溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

設計模式學來有用嗎,該怎么學?

發(fā)布時間:2020-06-11 18:32:40 來源:網(wǎng)絡 閱讀:539 作者:frank6600 欄目:軟件技術

有沒有用,得看你的程度、你主要解決什么問題、你負責的部份而定。


若你的程度還沒到那(還在學習怎么編程階段),看了自然懵逼;

若你解決的大部份是商務業(yè)務邏輯,能用的設計模式不多,因為需要的是商務模式(就是參考設計模式原理,自己設計商務模式);

若你負責或參與應用框架(全部或其中一小部份),或與其相關,那幫助就大了。


當然,若你程度還不到,你也可以藉由學習設計模式使自己提升程度,

但得一步一步來,急不得。

一般先從某個與你要處理的問題相關,常會遇到的模式開始學起,一次學一個

(除非你念書時期就發(fā)現(xiàn)自己很適合先學全再用,我就不是,所以我選擇一次學一個)。

你仔細看,網(wǎng)上查一查,大部份的人說起設計模式,都只會說出其中一兩個,就明白了。


網(wǎng)上看到的,大部份人最常提的是單例、工廠……這幾個,

我不是從這幾個學的,因此我最常提的不是這幾個。


我第一個學會,到工作中最常用,也最常要求下屬使用的,是策略模式,

因為我們經(jīng)常要處理“一個問題,兩種實現(xiàn)”的情況,

比如一個功能,要求既要支持串口通信,又要支持TCP通信,而對調(diào)用方來說最好不要知道它們的區(qū)別,

這就是典型的策略模式場景。

這種情況,一年遇到十來次再正常不過,

因此不可能不學,也不可能學不會。


遇到這種問題,我要求他們用“策略模式”解決,

我不會再說太多,只說這四個字,

我要求他們,我說這四個字,他們就要明白什么意思以及怎么做,我直接要結(jié)果。

剛開始他們聽到我這么說也是很懵逼,很痛苦,

我逼他們學,通常一晚上就會了(因為策略模式的概念一點不難),

當然實際吃透得折騰好幾次,但我說了,一年遇到十來次嘛,他們總會學會。

人生中學的第一個模式,肯定很難。時間久了他們習慣我這么指示,就好了。

等他們習慣第一個模式,我便開始增加他們會的模式,通常是實際用到時才要求他們學。

一年下來,他們平均會3個。(忘了說,他們都是剛工作第1至2年的程度)

在我公司,他們一般最早學會的,是策略模式、觀察者模式(又稱做事件機制)和適配器模式。


在交待工作時,我就這么說:

這問題,用“事件”的方式處理,以達到………效果;

或者,這個類提供“事件”讓別的類調(diào)用;

別看“事件”簡單,剛進公司的,有的至少得折騰四到五回,才終于明白怎么做。

第一次學,至少得回家想(一邊百度)3-4天才有點明白。

一個新員工,我要求他用事件機制解決,前2-3次還會有點耐性的指導,

到第4次如果他還不會,我就會發(fā)火,然后再看,他就會了。(對,發(fā)火是故意的,給他壓力)

這就是他們學習前幾個模式并能應用的實際情況了。

這期間大約一年。


到此,你覺得設計模式有沒有用?


當然,每個人的情況不同,學習過程不一定是這樣,

關鍵點是只要你在這行,一般一定用得到其中幾個模式,

等你學會幾個,并且常用,時間久了自然就明白了。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI