次の方法で共有


型の設計ガイドライン

CLR の観点からは、型には参照型と値型の 2 つのカテゴリしかありませんが、フレームワーク設計に関する説明では、型をより論理グループに分割し、それぞれに固有の設計規則を持っています。

クラスは、参照型の一般的なケースです。 大部分のフレームワークでは、型の大部分を構成します。 クラスの人気は、サポートするオブジェクト指向機能の豊富なセットと、その一般的な適用性にあります。 基底クラスと抽象クラスは、拡張性に関連する特別な論理グループです。

インターフェイスは、参照型と値型の両方で実装できる型です。 したがって、参照型と値型のポリモーフィック階層のルートとして機能できます。 さらに、インターフェイスを使用して、CLR でネイティブにサポートされていない複数の継承をシミュレートできます。

構造体は値型の一般的なケースであり、言語プリミティブと同様に、小さい単純型用に予約する必要があります。

列挙型は、曜日、コンソールの色など、短い値のセットを定義するために使用される値型の特殊なケースです。

静的クラスは、静的メンバーのコンテナーを意図した型です。 これらは、他の操作へのショートカットを提供するために一般的に使用されます。

デリゲート、例外、属性、配列、およびコレクションはすべて、特定の用途を目的とした参照型の特殊なケースであり、その設計と使用方法のガイドラインについては、本書の他の場所で説明します。

✔️ 各型が、関連性のない機能のランダムなコレクションだけでなく、適切に定義された関連メンバーのセットであることを確認してください。

このセクションでは...

クラスと構造体の選択
抽象クラスのデザイン
静的クラスの設計
インターフェイスの設計
構造体の設計
列挙型の設計
入れ子された型
Portions © 2005, 2009 Microsoft Corporation. 無断転載を禁じます。

フレームワーク設計ガイドライン:再利用可能な .NET ライブラリの規則、イディオム、パターン、Krzysztof Cwalina および Brad Abrams による第 2 版は、2008 年 10 月 22 日に Microsoft Windows 開発シリーズの一部として Addison-Wesley Professional によって公開されました。

こちらも参照ください