《大規模C++程序設計》讀書筆記20

提供給最終用戶的編程接口,應該符合以下需求:

  1. 接口必須提供必要的功能來操縱基礎系統。
  2. 接口一定不能暴露私有實現細節。
  3. 基礎組織的變化必須與客戶程序絕緣。
  4. 與該接口相關的開銷一定不能過大。

定義36:handle是一個類,維持一個指向一個對象的指針,該對象可以通過handle類的公共接口編程訪問。

原則64:在一個過程接口中,使客戶程序只顯式的析構那些他們顯式創建的對象,可以減少所有權關係上的混亂,並且可以提高性能。

原則65:儘管計算機體系結構和編譯器各不相同,但是下列的規則可以幫助系統結構設計師決定:在設計的早期,是否絕緣以及如何絕緣。

    ----------------------------------------------------------------------
    訪問                                                單獨訪問的相對開銷
    ----------------------------------------------------------------------  
    藉助內聯函數通過值                                           1
    藉助內聯函數通過指針                                         2
    藉助非內聯、非虛擬函數                                      10
    藉助虛擬函數機制                                            20
    創建                                                單獨分配的相對開銷
    ----------------------------------------------------------------------
    自動化                                                     1.5
    動態                                                      100+
    ----------------------------------------------------------------------
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章