Singleton 和 Monostate 都是用来实现单例模式的,但二者实现机制上有所不同。
Singleton 模式使用私有构造函数,一个静态变量以及一个静态方法对实例化进行控制和限制;而Monostate 则是简单的把对象的所有变量都编程静态的。
Monostate 模式实例:
public class Monostate
{
private static int x = 0;
public Monostate(){}
public void setX(int x){...}
public int getX(){...}
}
这样,对于Monostate 类,无论创建多少个实例对象,它们都表现的跟一个对象一样,它仅强调行为上的单一性。
本文探讨了Singleton和Monostate两种实现单例模式的方法。Singleton通过私有构造函数和静态方法来控制实例化,而Monostate则将所有状态设为静态,使多个实例共享同一状态。

506

被折叠的 条评论
为什么被折叠?



