面向對象軟件設計原則(一) —— 引子


  “面向對象軟件設計”這個術語及其相關話題對於很多開發人員來說已經是耳熟能詳了,甚至聽膩了。但是,對不住各位,為了吸引眼球和引起“異性” 注意,本座還是落入俗套選擇這個熱門話題作為本博客的開張炒作篇目。請見諒,也希望各位看官能放下架子,略讀一下本系列的所有文章再噴,可贊可彈可BS, 但勿吐槽,畢竟不想因為本座的文字噪音降低看官的SZ,傷不起呀!!

  言歸正傳,在如何闡述“面向對象軟件設計”這個問題上,本座琢磨了良久,畢竟命題寬泛,表達方式和層次多樣。最終決定用相對通俗,以本座的讀書和工作經歷,在中等層次上進行闡述。

  本座從十年多前走出校門之時就確信軟件架構(設計)、數據結構和算法是軟件的根本核心,也是衡量個人技術水平的終極標准。因此,從一開始本座就特別關注軟件設計方面的知識,本座讀過的三本書恰巧體現了軟件設計開發的幾個方面:

  • 編程開發:《Design Patterns Elements of Reusable Object-Oriented Software》
  • 軟件設計:《Agile Software Development: Principles, Patterns, and Practices》
  • 系統架構:《Pattern-Oriented Software Architecture》

    若從編程開發的層次談軟件設計不夠全面,有只見樹木不見森林之嫌;而從系統架構的層次去談則顯得過於專業,受眾不多,會失去大部分讀者。因此本系列文 章通過本座多年前閱讀:《Agile Software Development》的筆記整理和心得體會來闡述面向對象軟件設計原則。

  最后,本座要表達一個重要的觀點:任何知識的學習過程都要經歷“守”(依葫蘆畫瓢,獲得感覺)、“破”(掌握規律,懂得比較、選擇)、“離”(突破條框,自成一派,無招勝有招)三個階段,在學習的過程中不要墨守成規,需要結合實際情況不斷思考和提煉知識,突破自己。

  • 自信來源於哪里?來源於掌握足夠多的知識。
  • 求知欲望來源於哪里?來源於未掌握的知識。知識就像一個圓圈,掌握知識越多圓圈越大,圓圈越大則圈外的世界也越大。

 

  下一章:面向對象軟件設計原則(二) —— 軟件設計的腐化

CodeProject


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM