這一章描述了物件的基本概念,描述了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裝置驅動來完成硬體裝置間的互...