成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

碼農是怎么提高設計能力的?

企業動態
當我在工作中再次遇到復雜的需求時, 也努力地去做抽象,尋找本質的東西,有一次竟然把業務操作抽象成二維坐標系下點的移動,讓我喜不自勝,感受到了抽象的威力。

[[236672]]

 “欣哥,你是怎么提高設計能力的? ”

這個問題最近被人問及, 我回想了下這10多年學習歷程,并沒有發現一個確切的東西能幫助提升設計能力,更具體點是“面向對象的設計能力”。

我大學的時候學了幾門語言,也勉強做了幾個項目,但是都停留在能使用的層面,根本沒有考慮到可擴展性,重用性,靈活性,易讀,優雅...... 等東西, 也不知道什么是設計模式, 估計大部分碼農翻身的讀者都比我強得多。

剛工作的時候,一個搞Java的同學給我說,劉欣你知道嗎,現在模式很流行,我們都在搞模式。

模式? 正在抱微軟大腿的我是一臉懵逼。

回去趕緊搜,于是就發現了四人幫那本著名的《設計模式》,趕緊研讀,發現是霧里看花,水中望月,看不清楚。

這設計模式就如同一座高山,可望而不可及。 當然用來吹牛還是可以的,吃飯時給組長說:我最近看到一本書,叫設計模式,里邊提出了兩條原則,實在是太好了。

“什么原則?”

“一條面向接口編程而不是面向實現編程, 另外一條是優先使用組合而不是繼承。”

雖然我洋洋得意,但是我心中明白,我也不知道這是啥意思。

后來看到閆宏寫的《Java與模式》一書 ,里邊舉了很多紅樓夢的例子,有點意思,大概知道了一些模式的寫法。

照葫蘆畫瓢,寫了個Iterator, 激動不已。沒成想到JDK中一看,人家早就寫好了。

轉入Java陣營以后,發現模式在這里確實比較提倡,不僅僅是標準的23種設計模式,還有J2EE開發中用到的各種模式。

那就老老實實地學吧,不僅僅看書,還開始看源碼,當時流行的有一個叫做Jive論壇,純用servlet和JSP寫的,現在看來可能是比較幼稚,但是它里邊用了很多的設計模式,比如單例,模板方法,代理,迭代器等等。

之前學習設計模式,看到的都是小打小鬧的小例子,不知道怎么用到項目中來,現在看到Jive,一下子看到設計模式在實戰中的鮮活的應用,實在是大開眼界。

(由于時間太過久遠,感興趣的可以再翻翻Jive,但是不太建議再花太多的時間學習了)

后來發現了一本神書《敏捷軟件開發,原則,模式與實踐》,***次講了面向對象設計的原則,其中還有一個薪水支付的案例,真是讓我大開眼界,一下子明白了“優先使用組合而不是繼承"的道理。

此后又看了JUnit的源碼,再次感慨大牛把設計模式玩得爐火純青。

看了不少書和源碼以后,就想在工作中想找機會實戰,無奈工作中增刪改查居多,在框架下填代碼,渾身的OO內力無處宣泄,真是不爽。 (其實也沒多少內力,把自己高估了。)

終于逮到一次機會,我負責的模塊業務邏輯非常復雜,我就想辦法把這一塊邏輯從增刪改查的框架中剝離處理,好好設計了一番,應用了一些設計模式,效果還不錯,基本達到了OCP的原則:對修改封閉,對擴展開放。

各位同學也可以想一想,自己的工作中有沒有一些復雜的業務邏輯?能不能把他們單獨拎出來做個設計?

再挑戰下有難度的源碼吧,大家把Spring“吹噓”得神乎其神,一定得看看, 于是開始進入Spring源碼,這絕對是一次痛苦之旅,多如牛毛的class,深不可測的函數調用層次,把人搞得頭暈眼花,反復的調試,加上文檔的配合,總算走出了黑暗森林,也體會到了Spring設計的一些妙處,尤其是軟件開發最最重要的一點: 抽象。

當我在工作中再次遇到復雜的需求時, 也努力地去做抽象,尋找本質的東西,有一次竟然把業務操作抽象成二維坐標系下點的移動,讓我喜不自勝,感受到了抽象的威力。

但是這樣“頓悟”時刻還是太少了。面向對象的原則S.O.L.I.D 聽起來很簡單,23種設計模式理解起來也不難,但是想把這些原則和模式在實踐中應用好,那可就不容易了,很多時候我在面對復雜問題的時候也是非常犯愁,無法找到合適的接口和抽象,***做出的設計不盡如人意。

總結一下,想提升OO的設計能力,我的經驗就是: 閱讀書籍, 閱讀源碼,再加上不斷地思考和實踐。

謹以此和大家共勉。

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2023-03-19 16:15:33

CSS技巧開發

2018-06-20 09:35:43

碼農科技開發

2013-08-22 10:10:31

2017-11-06 08:27:26

開發

2014-04-04 10:27:50

碼農工作效率

2015-05-12 10:33:09

程序員代碼

2022-11-30 14:57:39

產業互聯網

2012-06-07 09:25:31

Visual Stud

2020-12-17 10:20:27

碼農高薪計算機

2020-08-05 12:27:18

Go語言碼農

2013-11-14 13:58:06

硅谷碼農

2014-12-04 10:02:55

2015-05-12 10:15:15

程序員

2023-07-16 22:34:55

2020-09-30 11:14:24

AI碼農架構

2014-03-20 16:18:30

碼農工作效率

2019-10-16 15:54:22

運維架構技術

2016-10-10 20:32:54

WebWindows 10設計

2016-04-05 15:23:35

CTO訓練營,技術管理

2020-05-08 10:06:12

碼農開發行業
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频欧美视频 | 伊人久久在线 | 中文字幕一区在线 | 国产成人精品一区二区三 | 91成人免费看片 | 好姑娘影视在线观看高清 | 日韩视频一区二区 | 久久综合亚洲 | 国产午夜在线观看 | 少妇一级淫片aaaaaaaaa | 一区二区伦理电影 | 久久国产精品久久久久久 | 亚洲成人精品 | 久久九九色 | 欧美成人精品一区二区三区 | 国产成人免费视频网站视频社区 | 天天操天天射综合网 | 伊人春色成人 | 成人日韩| 欧美色性 | 黄色网址在线免费播放 | 日本在线视频一区二区 | 亚洲国产精久久久久久久 | 国产一级在线 | 日韩专区中文字幕 | 免费福利视频一区二区三区 | 久久成人免费视频 | 亚洲 中文 欧美 日韩 在线观看 | 999国产视频 | www.亚洲一区 | 天天av天天好逼 | 国产精品毛片久久久久久 | 国产福利精品一区 | 欧美日韩一区在线观看 | 在线视频一区二区三区 | 日韩久久久久久 | 美女久久久久 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 欧日韩在线观看 | 999久久久久久久久6666 | 亚洲天堂免费在线 |