這是我CSDN上的第一篇博文,我希望通過學習設計模式並通過進行編碼實現來加深對設計模式的理解!我學習的第一個設計模式是單例模式,以下是我使用java實現的程序:
package Singleton;
/**
* Singleton定義一個Instance操作,允許客戶訪問它的唯一實例
* Instance是一個類操作,可能負責創建它自己的唯一實例
* @author wjm
*
*/
public class Singleton {
privatestatic Singleton sing;
privateSingleton(){
System.out.println("singleton");
}
publicstatic Singleton getInstance(){
if(sing== null){
sing= new Singleton();
}
returnsing;
}
publicstatic Singleton getSing() {
returnsing;
}
publicstatic void setSing(Singleton sing) {
Singleton.sing= sing;
}
}
以下是測試程序:
package Singleton;
/**
* 單例模式:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點
*
* 適應性:1當類只能有一個實例而且客戶可以從一個總所周知的訪問點訪問他時
* 2當這個唯一實例應該是通過子類化可以擴展的,並且客戶應該無需要改代碼就能使用一個擴展的實例時
*
*
* Singleton模式主要作用是保證在java應用程序中,一個類class只能出現一個實例存在
* @author wjm
*
*/
public class Test {
publicstatic void main(String[] args) {
Singletons1 = Singleton.getInstance();
Singletons2 = Singleton.getInstance();
System.out.println(s1);
System.out.println(s2);
}
}
發佈了28 篇原創文章 · 獲贊 4 · 訪問量 4萬+