單例:乙個類只有乙個例項,在外部建立物件時,不能用alloc.(只要alloc,就會在堆區開闢空間,就意味著有多個物件)所以我們要提供乙個建立物件的方法:
1.加號方法
2.返回值型別為當前類
3.方法名以default ,standared,main,shared等開頭 + 當前類名
下面以person類為例
在.**件中宣告
+ (person *)shareperson;
在.m檔案實現
第一種模式(單執行緒使用這種模式)
+ (person *)shareperson
return person;
第二種模式(多執行緒使用這種模式)
+ (person *)shareperson
}
return person;
第三種模式(單執行緒與多執行緒均可使用這種模式)
+ (person *)shareperson );
return person;
}
單例模式的三種寫法
這裡介紹三種單例模式寫法。第一種 餓漢模式 類載入時就初始化 public class singletonhungry public static singletonhungry getinstance 第二種 懶漢模式 類載入時不初始化,當呼叫getinstance方法時初始化 public cl...
單例的三種可用寫法
單例是通過 的寫法達到乙個例項在乙個堆中永遠只有乙個的目的,從而去除記憶體不必要的開銷或達到某些例項 例如資料庫連線池 常見框架中的控制 事物 持久層等 永遠唯一的目的。筆者總結了以下三種可用的單例寫法,懶漢 餓漢式的寫法不再贅述 雙重判定鎖 雙重判定鎖 public class singleton...
單例模式的三種寫法
創造型模式 單例模式 餓漢式 推薦優點 在類載入的時候就已經建立好了例項,沒有執行緒同步的問題 缺點 如果這個例項從始至終都沒有用到,那麼就會造成記憶體浪費 方法一 使用靜態物件 public class singleton 提供乙個靜態方法返回例項物件 public static singleto...