Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android設計模式(1)----單例模式

Android設計模式(1)----單例模式

編輯:關於Android編程

在很多設計模式中,我相信大多數程序猿最早接觸的設計模式就是單例模式啦,當然了我也不例外。單例模式應用起來應該是所有設計模式中最簡單的。單例模式雖然簡單,但是如果你去深深探究單例模式,會涉及到很多很多知識,我會繼續更新這篇文章的。單例模式在整個系統中就提供了一個對象,然後整個系統都去使用這一個對象,這就是單例的目的。

一、飽漢式單例:

public class Singleton {    
	    /**  
	     * 單例對象實例  
	     */    
	    private static Singleton instance = null;    
	    public static Singleton getInstance() {    
	        if (instance == null) {                     
	            instance = new Singleton();           
	        }    
	        return instance;    
	    }    
	}

二、餓漢式單例:

public class Singleton {    
		    /**  
		     * 單例對象實例  
		     */    
		    private static Singleton instance = new Singleton();    
		     
		   public static Singleton getInstance() {    
		        return instance;    
		    }    
		}

這兩種單例在實際的代碼中,往往是不能滿足要求的,這就需要我們根據自己的需求來改寫這些單例模式,

例如:如果創建的單例對象需要其他參數,這個時候,我們就需要這樣改寫:

public class Singleton {    
		    /**  
		     * 單例對象實例  
		     */    
		    private static Singleton instance = null;    
		     
		   public static Singleton  getInstance(Context context) {  
		        if (instance == null) {  
		        	instance = new Singleton(context);  
		        }  
		    return instance;  
		}
	}

例如:資源共享情況下,必須滿足多線程的並發訪問,這個時候,我們就應該這麼做:

public class Singleton {    
		    /**  
		     * 單例對象實例  
		     */    
		    private static Singleton instance = null;    
		     
		    public synchronized static Singleton getInstance() {    
		        if (instance == null) {    
		            instance = new Singleton();    
		        }    
		        return instance;    
		    }    
	}

其實無論什麼條件下,無論怎麼改變,都是這兩種單例模式的變種!!!!


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved