繁体   English   中英

如何创建依赖项类的单例实例?

[英]How can I create singleton instance of an dependency class?

我对模式和使用它们有点陌生。

我想一次配置一个依赖类(例如A.)的对象,并在我的应用程序中使用它。 我尝试在其上制作单例包装器类,但不幸失败了。 我尝试了类似的东西:

 public class B {
  public static A a = new A();
  public static A getInstance() {
      return a;
  }

  private B() {
    a.configure(); 
  }
 }

我认为调用B.getInstance()不会在此处配置对象。 我在这里想要配置一次A的实例,并在任何地方使用它。

基本上,您的单身人士班是B吗? 在示例代码中,对内部A使用单例模式,这没有多大意义。

据我了解,您应该追求这样的目标:

public class B {
    private static B _instance;
    public static B getInstance() {
        if (_instance == null) {
            _instance = new B(new A());
        }
        return _instance;
    }

   private A _a;

   private B (A a) {
       _a = a;
       _a.configure();
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM