創建型設計模式-單例模式
定義
簡單描述,就是隻允許被創建一次的實例化對象。也可以被叫做爲單體模式。一般在當做命名空間上使用。
案例
事實上被當做命名空間,我們熟悉的Jquery就是這種方式,外部只需要通過這個對象,便可以使用內部的方法與屬性
let A = {
Common:'',
Utils:'',
extend:function(){},
ajax: function(){}
...
}
// 我們 引用的時候只需要使用命名空間A就可以了
A.extend();
懶單例模式
let LazySingleMode = (function(){
let _singleInstance = null;
function Single(){
return {
publicMethod:function(){},
publicProp:'v1.0'
}
}
return function(){
if(!_singleInstance){
_singleInstance = Single()
}
return _singleInstance
}
})()
// 測試
LazySingleMode.publicProp // v1.0
備註:單例模式的使用一般用於對於命名空間的把握,當然在何時用我們還是需要自己看業務需求的。