設計模式可以使用我們在軟體開發過程中更加靈活,軟體的擴展更容易,軟體的耦合度更低,設計模式不是在開發中刻意去用的,而是到了什麼時候用什麼模式的,不能強迫的使用它,應該是自然而然的想到它。 單例模式 在23種設計模式中,單例最為簡單和純粹,也是最容易理解的,即它在軟體生命周期里,只有一個實例,就是說你 ...
設計模式可以使用我們在軟體開發過程中更加靈活,軟體的擴展更容易,軟體的耦合度更低,設計模式不是在開發中刻意去用的,而是到了什麼時候用什麼模式的,不能強迫的使用它,應該是自然而然的想到它。
單例模式
在23種設計模式中,單例最為簡單和純粹,也是最容易理解的,即它在軟體生命周期里,只有一個實例,就是說你初始化了一個對象之後,它就會一直存在,直到程式結束,在java語言里使用單例的方法有很多,像餓漢單例
及懶漢單例
,在實現過程中前者是在程式啟動時就會初始化,而後者是在第一次使用它時進行初始化。
代碼實現
餓漢模式
/**
* 餓漢單例.
*/
public class SingletonObj {
private static SingletonObj instance = new SingletonObj();
private SingletonObj() {
}
public static SingletonObj getInstance() {
return instance;
}
}
懶漢模式
/**
* 餓漢模式.
*/
public class SingletonLazy {
private SingletonLazy() {
}
public static final SingletonLazy getInstance() {
return SingletonHolder.INSTANCE;
}
private static class SingletonHolder {
private static final SingletonLazy INSTANCE = new SingletonLazy();
}
}