设计模式 – 单例模式可以用于多个(但是固定的)实例数

我遇到了一个关于设计模式的问题.

它要求在一个场景中使用apt设计模式,其中恰好创建了两个类的实例.我不确定答案,但后来的描述说Singleton可以用于这种情况.它说Singleton可以确保只创建一个类的实例或固定数(不是一个).

我总是将Singleton模式读作一个模式,其中只能创建一个类的一个对象,因此解释让我感到惊讶.我不确定我是否同意.

有什么想法吗?

阿迪亚

最佳答案 这是一个演示Multiton类的例子,该类完全包含n个对象:

public class Multiton
{
  private static Multiton[] instances;

  private Multiton() {}

  public static void initializeWithNumberOfInstances(int number)
  {
    instances = new Multiton[number];
  }

  public static Multiton getInstanceAtIndex(int index) throws Exception
  {
    if (instances == null)
      throw new Exception("Initialize number of instances first");

    if (instances[index] == null)
    {
      instances[index] = new Multiton();
    }

    return instances[index];
  }
}
点赞