シングルトンパターンの実装
アプリケーションでは、複数のコンポーネント間でロギング設定を管理する必要があります。現在、各コンポーネントが独自に 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;
}
}