我在java编码,对这些模式很新。任何人都可以给我一个工厂摘要的例子,也使用单身?
答案 0 :(得分:3)
以下是实现单例模式的类的示例。此实现也线程安全。它使用双重检查锁定,以便仅在需要时进行同步。
public class Singleton {
private volatile static Singleton instance; // Note volatile keyword.
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
您可以添加任何(工厂)方法作为类Singleton
的成员。获得唯一实例后,这些方法将可用。
public class Singleton {
/* ... */
/* Singleton implementation */
/* ... */
public MyObject createMyObject() { // Factory method.
return new MyObject();
}
// ...
}
答案 1 :(得分:0)
工厂模式是用于创建对象的创建模式。 Singleton确保每个JVM只有一个类的实例可用。组合这两种模式将涉及使用AbstractFactory创建单例实例,这意味着Factory将返回相同的实例。其他答案提供了代码