前端設計模式學習

2021-10-22 04:32:09 字數 1928 閱讀 4591

設計模式是前人遇到大量相似邏輯,而研究出的一種最有效的程式設計方法。簡單來說,設計模式是用來解決某些邏輯業務的。

學好設計模式,等你遇到了那些邏輯業務時,就能用超有效的**去解決這些邏輯業務。後端常用的設計模式有23種,而前端常用的不到十種。所以作為前端工程師,只要掌握這幾種就夠了。

工廠模式 *

單例模式 *

觀察者模式 *

命令模式

模板模式

策略模式

命名空間模式

備忘錄模式

裝飾器模式

複雜工廠設計模式可用於token的儲存,因為有些瀏覽器支援localstorage,有些瀏覽器不支援,得用cookie。

// 簡單工廠設計模式 —— 咖啡機

function

makecoffee

(bean, water)

/*使用不同原料,產生屬性一樣,屬性值多樣的產品(同型別)就叫簡單工廠設計模式

*/

複雜工廠設計模式

// 複雜工廠設計模式 —— 果汁工廠

function

fruitmaker()

fruitmaker.prototype.

make

=function

(type, meta)

else

}fruitmaker.prototype.

extend

=function

(obj)

}fruitmaker.

extend

( pear:

function

(meta)})

const fm =

newfruitmaker()

fm.make(,

'乙個蘋果,一斤水'

)fm.extend

/*使用不同原料,產生不同型別的產品(屬性多樣,屬性值多樣),就叫複雜工廠設計模式

*/

無論new多少次,都只返回同乙個物件,就叫單例模式。

比如登入註冊就可以用單例。

單例模式的實現方法:全域性變數,靜態屬性,即時函式,閉包-惰性函式等…

// 全域性變數實現單例

let instance =

null

;function

instance()

// 但全域性變數會汙染全域性,靜態屬性也可以被修改,所以這兩種都不太給力

// 即時函式

let instance =

(function()

})()

// 推薦使用這種方法

// 惰性函式(但缺點是使用者不能在instance原型上掛載屬性)

function

instance()

instance.prototype = oldprototype // 防止原型丟失

instance =

newinstance()

instance.constructor = instance }

// 不推薦

// 惰性函式(完美版)

function

instance()

instance.prototype = oldprototype // 防止原型丟失

instance =

newinstance()

instance.constructor = instance

return instance

}// 太複雜,不推薦

0:4

前端常用設計模式

炒個冷飯,設計模式 前端常用設計模式 我們在面試的時候很多情況都需要手寫 所以我們寫都時候盡量用es6,且裡面要用設計模式。這樣評分可以達到優秀,如果只是手寫實現出功能那麼我們只能是及格 主要面試和別人競爭 游泳健身了解一下 github 哈哈哈哈哈?你走到一棟大樓面前 哇!鋼筋,水泥,木板。面向過...

前端常用設計模式

像流水線作業,產出一樣的產品。傳參進去,操作的具體邏輯封裝在乙個方法裡,最終返回乙個物件。將new操作單獨封裝,遇到new時,就要考慮是否用工廠模式 這個creator就是乙個工廠,裡面有create函式,工廠通過create函式建立product。這樣通過create已經把真正的建構函式封裝起來,...

前端開發設計模式

高階高階前端開發之路之設計模式,衝!記錄一些學的七七八八的程式設計思維,設計模式 vue router物件是放在vue的原型鏈上的 只有get沒有set vue.prototype.router router object.defineproperty vue.prototype router 總結...