Singleton 和 Monostate 都是用來實現單例模式的,但二者實現機制上有所不同。
Singleton 模式使用私有構造函數,一個靜態變量以及一個靜態方法對實例化進行控制和限制;而Monostate 則是簡單的把對象的所有變量都編程靜態的。
Monostate 模式實例:
public class Monostate
{
private static int x = 0;
public Monostate(){}
public void setX(int x){...}
public int getX(){...}
}
這樣,對於Monostate 類,無論創建多少個實例對象,它們都表現的跟一個對象一樣,它僅強調行爲上的單一性。