次の方法で共有


静的クラスの設計

このコンテンツは、 フレームワーク設計ガイドライン (再利用可能な .NET ライブラリの規則、イディオム、パターン、第 2 版) から、Pearson Education, Inc. のアクセス許可によって再印刷されます。 そのエディションは2008年に出版され、その後 、本は第3版で完全に改訂されています。 このページの情報の一部が古くなっている可能性があります。

静的クラスは、静的メンバーのみを含むクラスとして定義されます (もちろん、 System.Object から継承されたインスタンス メンバーだけでなく、場合によってはプライベート コンストラクターも含まれます)。 一部の言語では、静的クラスのサポートが組み込まれています。 C# 2.0 以降では、クラスが静的として宣言されると、クラスはシールされ、抽象になり、インスタンス メンバーをオーバーライドまたは宣言することはできません。

静的クラスは、純粋なオブジェクト指向設計とシンプルさの間の妥協点です。 これらは、他の操作 ( System.IO.File など)、拡張メソッドの所有者、または完全なオブジェクト指向ラッパーが保証されない機能 ( System.Environment など) へのショートカットを提供するために一般的に使用されます。

✔️ 静的クラスは控えめに使用してください。

静的クラスは、フレームワークのオブジェクト指向コアのサポート クラスとしてのみ使用する必要があります。

❌ 静的クラスをその他のバケットとして扱わないでください。

❌ 静的クラスのインスタンス メンバーを宣言またはオーバーライドしないでください。

✔️ プログラミング言語に静的クラスの組み込みサポートがない場合は、静的クラスをシール、抽象として宣言し、プライベート インスタンス コンストラクターを追加します。

Portions © 2005, 2009 Microsoft Corporation. 無断転載を禁じます。

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

こちらも参照ください