C 程式設計思想讀書筆記之 第一章 物件的演化

2021-06-12 23:40:38 字數 1375 閱讀 4331

這一章描述了物件的基本概念,描述了c++成功的因素,然後介紹了詳細方法學,還有從面向過程到物件導向的轉變而採取的策略。

c++相對於c的優勢有,

(1)大程式的設計時,c的命名衝突是致命的,而c++有命名空間的保護,有效緩解命名衝突

(2)c++有了類,使程式更容易表達,增加了訪問控制,提高**的安全性(安全性也表現在建議使用引用,不建議使用指標)

(3)c++和c的執行效率相差10%,但開發效率我覺得c++略有優勢

方法學裡介紹了4中方法

(1)最小方法

(2)booch (確定類和物件->定義類->確定類間的關係->實現類->反覆設計       b o o c h方法強調類的功能表現,簡單地定義它們作為自然語言解的輪廓。)

(3)rdd責任驅動的設計(r d d進了一步,強調類的責任超過強調類的表現。)

1>資料或狀態:對每個類的資料或狀態變數的描述。

2>池和源:資料池和源的標識;處理或產生資料的類。

3>觀察者或觀點:觀點或觀察者類,用以隔離硬體依賴。

4>輔助工具或幫助器:輔助工具或幫助器類,例如連線表,它們包含很少的狀態資訊並

簡單地幫助其他類工作。

(4)物件建模技術(o m t用詳細地繪製圖表的方法,不僅描述類,而且還描述系統的各種狀態)

1) 物件模型,「什麼」,物件圖表:該物件模型類似於由b o o c h方法和r d d產生的那些模

型;物件的類通過責任相關聯。

2) 動態模型,「何時」,狀態圖表:該動態模型描寫了系統的與時間有關的狀態。不同的狀

態是通過轉變相關聯的;包含時間有關狀態的乙個例子是實時感測器,它從外部世界收集資料。

3) 功能模型,「如何」,資料流程表:該功能模型跟蹤資料流。它的理論是,在程式的最

低層上,實際的工作是通過使用過程而完成的,因此程式的低層行為最好通過畫資料流來理解,

而不是通過畫它的物件來理解。

方法學的物件開發原則

1)讓特殊問題生成乙個類,然後再解其他問題時讓這個類生長和成熟。

2)發現所需要的類,是設計系統的主要內容。

3)不要強迫自己在一開始就知道沒一件事情,應當不斷地學校。

4)開始程式設計,讓一部分能夠執行,這樣就可以證明或反駁已生成的設計。

5)盡量保持簡單。

方法學裡面印象比較深的是:**能夠自解釋自己,減少對設計文件的依賴,因為維護文件也需要很大的功夫。

「管理者的銀子彈,這個方法將解決您的所有問題」:不可能出現那麼完美的東西,特定的方法只對特定的問題有效。

好的設計應當是首要的目標,好的o o p設計也應當容易維護,但這是它的附加作用。——方法學不應該只注重維護而撇開設計。

《人件》正確指出知識型企業的核心是人,而不是技術,呼籲給予軟體工作者充分的自由和信任。軟體開發中,人的積極性也很重要。

第一章讀書筆記

本章內容主要講的是android系統移植和驅動開發概述,通過本章的學習知道了學習linux驅動程式設計一定要了解linux驅動只與linux核心有關,與客戶的使用的linux系統無關。也就是說,不管是那個linux系統,只要使用了同樣的linux核心,驅動就可以通過。唯一可以判斷的linux核心是否...

第一章讀書筆記

android的系統架構分為4層 第一層 linux核心。第二層 c c 庫。第三層 android。第四層 應用程式。android移植可兩個部分 應用移植和系統移植。目前linux核心主要維護3個版本 linux2.4,linux2.6和linux3.x,大多數linux系統都使用了這3個版本的...

第一章讀書筆記

若給android增加新的驅動,則hal也要做出相應修改。不同的linux版本的驅動程式並無法通用,那麼通過判斷linux核心版本號是否相同,可以檢驗驅動是否可以通用。目前最廣泛的核心版本應該是linux2.6。電腦或者手機等不同硬體裝置越來越豐富,則需要更多的linux裝置驅動來完成硬體裝置間的互...