C#の静的クラス:ベストプラクティスとトラップ
静的クラスの使用は、常に開発者の議論の焦点でした。 MSDNはいくつかの基本的な例を提供していますが、それを正しく使用することをより理解しやすくする必要があります。
静的クラスを使用する静的クラスは、次の種類の機能を整理するのが得意です。
特定のオブジェクトとは何の関係もない関数。
呼び出す前にオブジェクトの作成を回避することにより、実装を簡素化します。
関連するメソッドが意味があることを確認して、Spaceという名前のシステムの数学クラスと同様にしてください。
-
静的クラスの使用を避けるとき- しかし、静的クラスにはいくつかの欠点があります:
-
多型:
静的メソッドは書き換えたり導出されたりすることはできません。これにより、柔軟性とスケーラビリティが制限されます。
インターフェイスは使用できません。
静的メソッドには、インターフェイス宣言でアクセスできず、戦略的パターンとインターフェイスベースの契約に使用することはできません。
テストチャレンジ:
静的メソッドを書き換えて、テストクラスの作成を作成し、生産コードをアナログオブジェクトに置き換えることができません。 -
腫れ:静的ツールクラスは、無関係な機能を蓄積することが多く、コードの拡大と維持が困難になります。
- 過度のパラメーター:静的メソッドには、通常、オプションのパラメーターを含む多くのパラメーターがあり、複雑で混oticとしたコードが生成されます。
不要なカテゴリインスタンス:- 静的メソッドにアクセスするように作成オブジェクトを強制すると、実際にインスタンスがない場合は不必要な費用が発生します。
例外-
これらの問題にもかかわらず、静的方法はまだ適用されます。
- 実際のツールクラス:特別な用途でクラスを実行しても、実行は実用的なプログラム機能がコードのメンテナンスを拡張または損傷することはありません。
One -Time Project:は、長期的なメンテナンスのニーズが予想されていないプロジェクトでは、静的な方法が開発を高速化することができます。
-
概要
静的クラスを使用するかどうかには、潜在的な欠点を注意深く計量する必要があります。コードライブラリで静的クラスを使用するためのバランスの取れた基準は、コードライブラリで静的クラスを使用するための明確な標準を形成します。
以上がC#で静的クラスをいつ使用する必要があり、いつ回避する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。