答案 0 :(得分:10)
一种方法是使用最多可创建4个实例的对象工厂。这是一个有趣的需求......对象池是否会满足同样的需求?
答案 1 :(得分:3)
您可以计算使用静态类属性创建的实例数来存储计数。这可以在类构造函数中完成,也可以使用工厂模式。在不知道目标语言的情况下,更准确地回答这个问题有点困难。
答案 2 :(得分:3)
尝试修改 Singleton 模式。您可以使用计数变量。您需要将Constructor保持为私有才能控制no。实例。
答案 3 :(得分:1)
实现单一设计模式的一种方法, 每当我们调用创建实例时,检查已创建的实例的计数,如果实例计数已达到4,则为您的应用程序使用相同的实例。 为了得到计数,Creat Static Int Counter = 0;并继续增加它以获得结果。
答案 4 :(得分:0)
最简单的方法是使用一个名为“count”的类级别属性,并在构造函数中确保“count”不高于某个数字。
//pseudocode
class foo
static count = 0
def constructor()
if count < 4
//create object
else
//there are too many!
答案 5 :(得分:0)
这是一段简短的代码段,它将在c#
中提供上述结果sealed class clsInstance
{
public static int count = 0;
private static readonly clsInstance inst = new clsInstance();
clsInstance()
{
}
public static clsInstance Inst
{
get
{
if (count < 4)
{
Console.WriteLine("object : " + count);
count++;
return inst;
}
return null;
}
}
}
class MainClass
{
public static void Main(String[] args)
{
clsInstance c1 = clsInstance.Inst;
clsInstance c2 = clsInstance.Inst;
clsInstance c3 = clsInstance.Inst;
clsInstance c4 = clsInstance.Inst;
Console.ReadLine();
clsInstance c5 = clsInstance.Inst;
Console.ReadLine();
}
}