始める無料で始める

シングルトンパターンの実装

アプリケーションでは、複数のコンポーネント間でロギング設定を管理する必要があります。現在、各コンポーネントが独自に LogManager を作成しているため、設定に不整合が生じています。すべてのコンポーネントが同じロギング設定を共有できるよう、シングルトンパターンの実装を完成させましょう。

この演習はコースの一部です

Java におけるコードの最適化

コースを見る

演習の手順

  • LogManager 型の static 変数 instance を追加してください。
  • コンストラクタはクラス内からのみアクセスできるようにしてください。
  • LogManager のインスタンスは、現在 null の場合にのみ作成してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

public class Main {
    public static void main(String[] args) {}
}

class LogManager {
	// Add static instance variable to hold the instance
    private static ____ ____;
    private Map logConfig;
    
    // Make constructor accessible only from within the class
    ___ LogManager() {
        logConfig = new HashMap<>();
    }
    
    public static LogManager getInstance() {
    	// Only create if instance is currently null
        if (____ ____ ____) {
            instance = new LogManager();
        }
        return instance;
    }
}
コードを編集して実行