單例模式(Singleton Pattern):?jiǎn)卫J酱_保某一個(gè)類只有一個(gè)實(shí)例撬统,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例腾供,這個(gè)類稱為單例類岖沛,它提供全局訪問(wèn)的方法罢坝。
單例模式的要點(diǎn)有三個(gè):一是某個(gè)類只能有一個(gè)實(shí)例绳匀;二是它必須自行創(chuàng)建這個(gè)實(shí)例;三是它必須自行向整個(gè)系統(tǒng)提供這個(gè)實(shí)例炸客。單例模式是一種對(duì)象創(chuàng)建型模式疾棵。單例模式又名單件模式或單態(tài)模式。
優(yōu)點(diǎn):
? ? ? ?1.提供了對(duì)唯一實(shí)例的受控訪問(wèn)痹仙;
? ? ? ?2.由于系統(tǒng)只存在一個(gè)對(duì)象是尔,節(jié)約了系統(tǒng)資源;
缺點(diǎn) :
? ? ? ? 1.單例類的職責(zé)過(guò)重开仰,在一定程度上違背了“單一職責(zé)原則”拟枚;
? ? ? ? 2.濫用單例將帶來(lái)一些負(fù)面問(wèn)題,如為了節(jié)省資源將數(shù)據(jù)庫(kù)連接池對(duì)象設(shè)計(jì)為單例類众弓,可能會(huì)導(dǎo)致共享連接池對(duì)象的程序過(guò)多而出現(xiàn)連接池溢出恩溅;