類型設計方針
從 CLR 的觀點來看,只有兩種型別類別:參考型別和實值型別,但基於架構設計的討論目的,我們會將型別分成更多邏輯群組,每個型別都有自己的特定設計規則。
類別是參考型別的一般案例。 它們組成大部分架構中的大量型別。 類別的常用性歸因於其支援的豐富物件導向功能集和其一般適用性。 基底類別和抽象類別是與擴充性相關的特殊邏輯群組。
介面是可由參考型別和實值型別實作的型別。 因此,它們可作為參考型別和實值型別的多型階層根目錄。 此外,介面可用來模擬 CLR 原生不支援的多重繼承。
結構是實值型別的一般案例,應該保留給小型的簡單型別,類似於語言基本類型。
列舉是用來定義簡短值集合之實值型別的特殊案例,例如星期幾、主控台色彩等等。
靜態類別是用來做為靜態成員容器的型別。 它們通常用於提供其他作業的快捷方式。
委派、例外狀況、屬性、陣列和集合皆適用於特定用途之參考型別的特殊案例,而且本書其他地方會討論其設計和用法的指導方針。
✔️ 請確定每個型別都是一組定義完善的相關成員,而不只是隨機的不相關功能集合。
本節內容
在類別和結構之間選擇
抽象類別設計
靜態類別設計
介面設計
結構設計
列舉設計
巢狀型別
Portions © 2005, 2009 Microsoft Corporation. 著作權所有,並保留一切權利。
獲 Pearson Education, Inc. 的授權再版,從 Krzysztof Cwalina 和 Brad Abrams 撰寫,並在 2008 年 10 月 22 日由 Addison-Wesley Professional 出版,作為 Microsoft Windows Development Series 一部份的 Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition 節錄。