《 面向對象葵花寶典 思想、技巧與實踐》讀書筆記

前言:不管瀑布還是敏捷開發流程都可以分爲幾個階段:需求分析、系統設計、編碼實現、測試部署

內容主要就是4點:面向對象的基礎、實戰;面向對象的技巧;面向對象用在架構設計中。

 

一、面向對象基礎

(1)程序=數據結構+算法。計算機本質是面向過程的,每個階段都是輸入,處理,輸出大概三個步驟。

(2)面向對象更側重於現實世界的模擬,沒有面向過程那樣的中央調度器,而是設計很多對象不需要執行嚴格的操作順序,建立很多方法和對外界刺激作出反應。

人大部分時間都是按照面向對象思考的,上到公司每個職位對象,桌子,花盆都是對象。

(3)面向過程和計算機是息息相關的,今天的C語言,操作系統,協議棧,驅動系統都是面向過程的代表。對於工業系統來說,面向過程的缺點是微不足道的,比如一條生產線,原料和流程相對固定,可能延續幾年甚至幾十年不變。

(4)面向對象開頭比面向過程效率低,但是設計類設計得好,擴展性會更好,也更能隨時應對客戶的新需求和需求變更的情況。

(5)中文的可擴展性對應的英文有2種解釋:extensibility(指需求變化後能夠容易的擴展滿足需求)和scalablity(系統訪問壓力增加後,能夠簡單的通過添加更多硬件設備支撐壓力,也叫做可伸縮性)。

(6)軟件質量的評估標準包括:成本、性能、可靠性、安全性、可伸縮性、可擴展性、可維護性、可移植性。面向對象主要解決的就是可擴展性。

(7)面向對象還是面向過程只是一種思維,跟具體語言沒有關係,面向對象編程不等於面嚮對象語言。

(8)設計的類的屬性基本原則遵循屬性最小化原則,比如一個地址,是否要劃分省市區,如果只是一個字段展示可以只設計一個字段,但如果都要單獨顯示,那就需要設計3個字段,場景不確定那就設計3個字段也就是遵循屬性最小化原則。

(9)設計的類的方法遵循單一化原則,儘量一個方法只做一件事。

 

 

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