優(yōu)點:
1:一個類只被實例化一次允悦,提供了對唯一實例的受控訪問汁咏。
2:節(jié)省系統(tǒng)資源
3:允許可變數(shù)目的實例贝咙。
缺點:
1:一個類只有一個對象样悟,可能造成責(zé)任過重,在一定程度上違背了“單一職責(zé)原則”庭猩。
2:由于單例模式中沒有抽象層窟她,因此單例類的擴展有很大的困難。
3:濫用單例將帶來一些負(fù)面問題蔼水,如為了節(jié)省資源將數(shù)據(jù)庫連接池對象設(shè)計為的單例類震糖,可能會導(dǎo)致共享連接池對象的程序過多而出現(xiàn)連接池溢出;如果實例化的對象長時間不被利用趴腋,系統(tǒng)會認(rèn)為是垃圾而被回收吊说,這將導(dǎo)致對象狀態(tài)的丟失。
更多:iOS面試題合集