提供給最終用戶的編程接口,應該符合以下需求:
- 接口必須提供必要的功能來操縱基礎系統。
- 接口一定不能暴露私有實現細節。
- 基礎組織的變化必須與客戶程序絕緣。
- 與該接口相關的開銷一定不能過大。
定義36:handle是一個類,維持一個指向一個對象的指針,該對象可以通過handle類的公共接口編程訪問。
原則64:在一個過程接口中,使客戶程序只顯式的析構那些他們顯式創建的對象,可以減少所有權關係上的混亂,並且可以提高性能。
原則65:儘管計算機體系結構和編譯器各不相同,但是下列的規則可以幫助系統結構設計師決定:在設計的早期,是否絕緣以及如何絕緣。
---------------------------------------------------------------------- 訪問 單獨訪問的相對開銷 ---------------------------------------------------------------------- 藉助內聯函數通過值 1 藉助內聯函數通過指針 2 藉助非內聯、非虛擬函數 10 藉助虛擬函數機制 20 創建 單獨分配的相對開銷 ---------------------------------------------------------------------- 自動化 1.5 動態 100+ ----------------------------------------------------------------------