設計模式學習之引序

學面嚮對象語言(如C++/Java),不可不提設計模式,爲什麼要提倡"Design Pattern"呢?根本原因是爲了代碼複用,增加可維護性,靈活擴展

面向對象的編程,並不是類越多越好,類的劃分是爲了封裝,但分類的基礎是抽象,具有相同屬性和功能的對象的抽象集合纔是類。類在設計模式中遵循的原則:高內聚,低耦合

以前在編碼過程中,總是習慣過程式的思考,按過程來分解問題,這其實體現出一個人的習慣思維模式。雖然自己曾經學過面嚮對象語言,也知道用面向對象來編程會有哪些好處,但事實上每當遇到一個問題,總是順着問題的常理思路先解決再說,寫完後,從來不總結裏面還有什麼問題,還有哪些地方可以改進。其實這個常理思路就是按過程來的,思維並沒有真正地面向對象,到現在仍然沒有轉變,希望通過這段時間對設計模式的學習,真正體會到面向對像思想的精髓。

另外,設計模式有助於對框架結構的理解,成熟的框架通常使用了多種設計模式,如果你熟悉這些設計模式,毫無疑問,你將迅速掌握框架的結構。框架是構成一類特定軟件可複用設計的一組相互協作的類,EJB(EnterpriseJavaBeans)是Java應用於企業計算的框架。框架通常定義了應用體系的整體結構類和對象的關係等等設計參數,以便於具體應用實現者能集中精力於應用本身的特定細節。框架主要記錄軟件應用中共同的設計決策,框架強調設計複用,因此框架設計中必然要使用設計模式。希望通過對設計模式的學習,對以後瞭解任何一款新框架都能如魚得水。

很多人說學設計模式很難,爲什麼呢?因爲設計模式是四個博士的作品,在其書中提出了23種設計模式,博士最大的特色就是抽象,將一個具體的問題抽象到一般,形成理論。抽象的好處是能夠提供指導性的意見和建議,其瑕疵就是不容易爲新手所理解和掌握。爲了更好的學習設計模式,配以實例說明是很重要的。

“習慣成自然”,這句話說的一點不錯,一直以來,我在編程中一直認爲只要能把問題用代碼實現就好,從來不會管哪寫的有問題,所以就一直習慣於面向過程式的思維,從現在起,訓練自己如何面向對象思考。編程是一門技術,更加是一門藝術,不能只滿足於寫完代碼運行結果正確就完事,時常考慮如何讓代碼更加易維護、易擴展和複用,只有這樣纔可以真正得到提高。如何編出結構清晰、簡潔、高效的代碼,這個真不是一朝一夕就能練出來的,想起當時在聯創實習時,說讓我們學習如何重構代碼,當時沒用心,剛好那時也要實習結束了,所以就不了了之了,其實重構就是設計模式的一種運用,後面有時間,將自己以前寫的代碼拿出來好好分析後重構一下

設計模式之於面向對象系統的設計和開發的作用就有如數據結構之於面向過程開發的作用一般。設計模式體現的是一種思想,而思想則是指導行爲的一切,理解和掌握了設計模式,並不是說記住了23種(或更多)設計場景和解決策略(實際上這也是很重要的一筆財富),實際接受的是一種思想的薰陶和洗禮,等這種思想融入到了你的思想中後,你就會不自覺地使用這種思想去進行你的設計和開發,這一切纔是最重要的。

 

參考資料:

1.http://baike.baidu.com/view/66964.htm

2.《設計模式》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章