設計工廠模式是為了建立物件。通常在類或者類的靜態方法中實現,具有兩個目標。其中乙個是:當建立相似物件時執行重複操作:
另外乙個目標是:編譯時不知道具體型別(類)的情況下,為工廠客戶提供一種建立物件的介面。
實現如下:
//父構造器
function
carmaker(){}
//在原型中新增共享的方法
carmaker.prototype.drive = function
();//
靜態工廠方法
carmaker.factory = function
(type);
}//使得原型繼承父類,僅繼承了一次
if(typeof carmaker[constr].prototype.drive !== "function")
//建立乙個例項
newcar = new
carmaker[constr]();
return
newcar;
};//
定義特定的汽車構造商
carmaker.compact = function
();carmaker.convertible = function
();carmaker.suv = function
();//test
var compact = carmaker.factory("compact");
var convertible = carmaker.factory("convertible");
var suv = carmaker.factory("suv");
console.log(compact.drive());
//vroom, i h**e 4 doors
console.log(convertible.drive()); //
vroom, i h**e 1 doors
console.log(suv.drive()); //
vroom, i h**e 17 doors
js設計模式 工廠模式
一.介紹 工廠模式主要出現在物件導向建立例項的過程中,其本質是為了更方便生成例項,因此 在遇到使用new時,就要是否要使用工廠模式 二.實現 1.uml類圖 2.實現 class product init fn1 fn2 class creator 測試 let creator new creato...
js設計模式 工廠模式
一句話總結 在建構函式外面增加乙個函式,每次建立的時候,呼叫外層函式,不用去管建構函式的內部是如何實現的。去麵館吃麵,給老闆說 來碗雜醬麵 老闆把麵端上來。在這個過程中,我們不會去關心,面是怎麼做出來的,是如何做的。給老闆說 來碗雜醬麵 就給你做雜醬麵,來碗番茄面,就給你做番茄面。這就是乙個工廠模式...
js簡單工廠模式
建立型設計模式是一類處理物件建立的設計模式,通過某種方式控制物件的建立來避免基本物件建立時可能導致設計上的問題或增加設計上的複雜度。乙個物件有時也可代替許多類 憶之獲 團隊專案開發不同於個人開發,其對全域性變數的限制很大,所以我們盡量少的建立全域性變數。對於同一類物件在不同需求中的重複性使用,很多時...