共用方式為


抽象型別和介面

更新:2007 年 11 月

抽象型別和介面都是指定程式設計抽象的機制;抽象可指定繼承者或實作者所必須遵守的合約。抽象型別可選擇提供實作細節;介面則無法提供任何實作細節。

請勿提供抽象,除非藉由開發數個使用抽象的具象實作和 API 來加以測試。

如果您送交抽象時,未在真實案例中測試過,您很可能會遺漏一些在未引入將來版本的相容性問題時,很難或無法修復的設計問題。

一定要在設計抽象時,謹慎地在抽象類別和介面之間做選擇。

如需選取抽象型別或介面的詳細討論內容,請參閱在類別和介面之間選擇

請考慮為具象的抽象實作提供參考測試,這類的測試可讓使用者測試其實作是否可正確實作合約。

參考測試是指可讓您驗證是否已正確實作介面的測試。例如,ICollection<T> 的測試可以驗證在實作此介面的執行個體上呼叫 Add 方法兩次之後,Count 屬性會增加 2。

Portions Copyright 2005 Microsoft Corporation.All rights reserved.

Portions Copyright Addison-Wesley Corporation.All rights reserved.

如需設計方針的詳細資訊,請參閱由 Krzysztof Cwalina 和 Brad Abrams 所著,並由 Addison-Wesley 於 2005 年發行的「Framework 設計方針:可重複使用之 .NET 程式庫的慣例、慣用語法和模式」一書。

請參閱

其他資源

開發類別庫的設計方針

擴充性設計