いくつかのクラスファイルに共通するコードを書くときに、ヘルパーファイルに配置する傾向があります。ヘルパークラスとユニットテスト
ヘルパーまたはユーティリティクラスは、必要なクラスに注入する必要がありますか?それとも、単に「作曲」という言葉を引用するだけの方がいいですか?
よろしくお願いいたします。
いくつかのクラスファイルに共通するコードを書くときに、ヘルパーファイルに配置する傾向があります。ヘルパークラスとユニットテスト
ヘルパーまたはユーティリティクラスは、必要なクラスに注入する必要がありますか?それとも、単に「作曲」という言葉を引用するだけの方がいいですか?
よろしくお願いいたします。
静的なクラスであるユーティリティクラスにしてください。
依存関係は特定のクラスと密接に関係していますが、あなたのシナリオでは、ユーティリティクラスが必要です。
私はあなたが多少異なるヘルパークラスの味を助けない限り、注射の洗練が必要ないと言いたいと思います。私は構成が妥当だと言うでしょう。代わりにユーティリティやツールキットの静的クラスを作ることもできます。これにより、コードを少し明示的にすることができます。
Composition vs Inheritanceを選択する理由は、よく知られているSOLIDの原則である必要があります。そして、「相続財産を超える組成」は、IMOの結果です。
(Saurabhが言ったように)それが静的であるとき
とにかく、C#拡張で、ユーティリティクラスを作成することはまれです。
ユーティリティクラスでは、注入する必要はありません(スタティックでテスト可能です)。代わりに、コンポジションを持っている場合、依存性の逆転の原則では、コンストラクタを抽象化するためにコンテナを残すことができるように、「抽象化ではなく抽象化に依存する」と述べています。
ユーティリティとヘルパーの主な違いは何ですか? – Bill
私は知っている限り、ほとんどの比較はできませんが、ユーティリティクラスは静的クラスですから、ユーティリティクラスでサブクラス化する必要はありません – TalentTuner