1.工廠方法模式
將實際創建對象工作推遲到子類中,在js中將工廠方法看作一個實例化對象的工廠類,將構造對象的構造函數放在工廠方法類的原型中即可。
'use strict';
(function(){
//安全模式創建的工廠類
function Factory(type,content){
if(!(this instanceof Factory)){
//構造函數中可以調用相應原型方法
return new Factory(type,content);
}
//構造函數返回一個對象就會創建這個對象
return new this[type](content);
}
Factory.prototype={
A: function(){
this.name='red';
},
B: function(){
this.name='green';
}
}
var a=Factory('A');
console.log(a.name);
})();
工廠方法模式可以創建多個類的實例對象,這種創建對象的方式避免了使用者和對象類之間的耦合,用戶不用關心