-1

Java では、シングルトンとすべての静的メンバーを持つクラスのどちらを使用するのがよいでしょうか? それとも関係ありませんか?

たとえば、Xさまざまなクラスからクラスにアクセスしたいのですが、そのXクラスには、それを使用するすべてのクラスに対して同様の値が含まれている必要があります。

4

5 に答える 5

1

Mathまたはクラスと同じようにステートレスなクラスの静的メソッドとSystem、その逆のシングルトンを好みます-> のようなステートフル クラスの場合FacesContext

于 2013-10-21T16:20:02.880 に答える
0

すべて静的なクラスは、論理的にグループ化されているが、状態 (フィールド) を共有していない共有ユーティリティ メソッドによく使用されます。

次の場合は、シングルトンの方が適しています。

  1. さまざまな動作を持つさまざまなオブジェクトがその役割を果たしたい場合があります。
  2. オブジェクトはインターフェースを実装する必要があります (例: shared ActionListener)

(別の言い方をすると、ポリモーフィズムが必要な場合、シングルトンはクラスではなくオブジェクトでなければなりません)

于 2013-10-21T16:00:25.003 に答える
0

継承不可かつインスタンス化不可の静的メソッドを持つクラスが望ましいです。例えば:

public final class Constants {

    private Constants() {
        // non-public constructor
    }

    public static final Pattern ID_PATTERN = Pattern.compile("^\\d{4,10}$");

    public static final Locale DEFAULT_LOCALE = new Locale("en", "US");

    ...

}

アプリケーション スコープと同様に、何らかの状態を維持したい場合にのみシングルトンを使用してください。ただし、きれいなデザインが必要な場合は、2 つのクラスにする必要があります。

于 2013-10-21T16:46:17.463 に答える