Loading article…
オブジェクト指向プログラミングでは、ヘルパークラスは、それが使用されるアプリケーションやクラスの主な目的ではない機能の提供を支援するために使用されます。[1] [2]ヘルパークラスのインスタンスは、ヘルパーオブジェクトと呼ばれます(たとえば、委任パターンの場合)。
ヘルパー クラスは、初心者プログラマーが 1 つまたは 2 つのクラスの作成を超えた後、入門プログラミング レッスンで作成されることがよくあります。
ユーティリティクラスは、メソッドがすべて静的であるヘルパークラスの特殊なケースです。[3]一般に、ヘルパークラスはすべてのメソッドを静的にする必要はありませんが、インスタンス変数を持つことができます。ヘルパークラスのインスタンスが複数存在する場合もあります。
例
これもユーティリティ クラスの例です。以下は文字列オブジェクトの 拡張メソッドです。
public static class PrependHelper { // 静的関数public static string MeowPrepend ( this string text ) { return $"Meow meow {text}!" ; }
public static string WoofPrepend ( this string text ) { return $"Woof woof {text}!" ; }
public static string WoohPrepend (この文字列テキスト) { return $"Wooh {text}!" ; } }
ヘルパークラスの代替
ヘルパー クラスになる関数は、使用される場所の近くに配置できます。もう 1 つの方法は、ヘルパー クラスのパラメータをフィールドとしてクラスにラップすることです。そのクラスには、そのフィールドに関連付けられたビジネス ドメインから名前を付けることができます。次の例は、ヘルパー メソッドをドメイン タイプのメソッドに変換する方法を示しています。
パブリッククラスText {文字列テキスト;
public string MeowPrepend () { return $"Meow meow {text}!" ; }
public string WoofPrepend () { return $"Woof woof {text}!" ; }
パブリック文字列WoohPrepend () { return $"Wooh {text}!" ; } }
参考文献
- ^ Tee, Sim Hui (2009-12-03). 「内部クラス設計の改善のためのメソッドの冗長性の排除」ACM SIGSOFT ソフトウェアエンジニアリングノート34 ( 6): 1–3. doi :10.1145/1640162.1640174. ISSN 0163-5948.
- ^ 「ヘルパーとは何か?それはデザインパターンか?それはアルゴリズムか?」。ソフトウェアエンジニアリングスタックエクスチェンジ。 2023年10月31日閲覧。
- ^ 「Java ヘルパー vs. ユーティリティクラス | Baeldung」。Baeldung 2023年 4 月 28 日。2023 年10 月 31 日閲覧。
参照
- 階層
- クラス図(UML)
- クラスベースのプログラミング
