單例模式的優勢-缺點

 

優勢:指針

    1,實例控制:單例模式防止其它對象對本身的實例化,確保全部的對象都訪問一個實例。對象

    2,伸縮性:由於由類本身來控制實例化進程,類就在改變實例化進程上有相應的伸縮性。生命週期

 

缺點:進程

    1,系統開銷。雖然這個系統開銷看起來很小,可是每次引用這個類實例的時候都要進行實例是否存在的檢查。這個問題能夠經過靜態實例來解決。內存

    2,開發混淆。當使用一個單例模式的對象的時候(特別是定義在類庫中的),開發人員必需要記住不能使用new關鍵字來實例化對象。由於開發者看不到在類庫中的源代碼,因此當他們發現不能實例化一個類的時候會很驚訝。開發

    3,對象生命週期。單例模式沒有提出對象的銷燬。在提供內存管理的開發語言(好比,基於.NetFramework的語言)中,只有單例模式對象本身才能將對象實例銷燬,由於只有它擁有對實例的引用。在各類開發語言中,好比C++,其它類能夠銷燬對象實例,可是這麼作將致使單例類內部的指針指向不明內存管理

相關文章
相關標籤/搜索