設計自己的庫
阿新 • • 發佈:2017-05-20
接口 它的 提取 方法 標準庫 font 倒水 描述 自定義類 *如果你的工作經常要用到一些特殊的工具,你可以設計自己的庫
*一個庫應該有一個主題。一個庫中的函數都應該是處理同一類問題。如標準庫iostream包含輸入輸出功能,cmath包含數學運算函數。我們自己設計的庫也要有一個主題。
*設計一個庫還要考慮到它的通用性。庫中的功能應來源於某一應用,但不局限於該應用,而且要高於該應用。在某一應用程序中提取庫內容時應盡量考慮到兼容更多的應用,使其他應用程序也能共享這個庫。
庫的設計和實現
*設計庫的接口:
-庫的用戶必須了解的內容,包括庫中函數的原型、這些函數用到的符號常量和自定義類型
-接口表現為一個頭文件
*設計庫中的函數的實現:表現為一個源文件
*庫的這種實現方法稱為信息隱藏
程序設計的復雜性
描述炮出一杯茶需要哪些步驟
*燒水
*把茶葉放到茶壺裏
*水燒開後倒入茶壺
*等待5分鐘
*把茶倒進杯子
*加牛奶
*喝
開始問這樣的問題(這很重要!)
*燒水?
*水哪來的?
*熱水壺在哪裏?
*你怎麽把水倒進熱水壺?
*你怎麽知道熱水壺壺裏要倒多少水?
*如果沒有水/熱水壺/電怎麽辦呢?
*假如加水傳感器失效怎麽辦?
*假如煮水傳感器失效怎麽辦?
*茶葉放到茶壺裏?
*茶壺在哪裏,如果沒有茶壺怎麽辦?燒水之前我們應該考慮到這些問題嗎?
*茶葉在哪裏,要用哪一種茶葉?我們是否應該先問清楚,或許如果沒有對應的茶葉,我們甚至都不應該開始泡茶?
*關於加水和傳感器也可以有類似的問題要問
*倒開水?
*你確定水已經開了麽?你怎麽能確保“倒水”的機器從熱水壺那收到“燒水完成”的信號呢?
*你如何確保倒水的機器知道熱水壺在哪裏?
*如果熱水壺在倒水的過程翻了怎麽辦呢?
設計自己的庫