工廠模式
js中的工廠模式就是用來批量生產物件的
工廠函式就是做乙個物件建立的封裝,並將建立的物件return出去
function
newobj
(name,age)
var obj =
newobj()
;
單例模式:只允許存在乙個例項的模式
var instance =
(function()
})()
var ibs =
instance()
;
觀察者模式
又稱發布訂閱者模式,經典案例:事件監聽,乙個元素同時監聽多個同型別事件,元素物件即為發布者,每乙個事件處理函式即為訂閱者。
策略模式
策略模式的定義是:定義一系列的演算法,把它們乙個個封裝起來,並且使它們可以相互替換,從而避免很多if語句,曾經學過最簡單的策略模式雛形就是使用陣列的方式解決傳入數字得到對應星期幾問題的演算法。
比如公司的年終獎是根據員工的工資和績效來考核的,績效為a的人,年終獎為工資的4倍,績效為b的人,年終獎為工資的3倍,績效為c的人,年終獎為工資的2倍
var obj =
,"b"
:function
(salary)
,"c"
:function
(salary)};
varcalculatebouns
=function
(level,salary)
;console.
log(
calculatebouns
('a'
,10000))
;// 40000
**模式
**模式(proxy),為其他物件提供一種**以控制對這個物件的訪問,為了不暴露執行物件的部分**
//三個物件
//使用者委託快捷方式開啟exe
//為了不暴露執行物件的部分**
//男孩委託快遞小哥給女孩送禮物
vargirl
=function
(name)
//隱藏複雜,不願意修改的的方法
varboy
=function
(girl)
}var
proxybro
=function
(girl)
}var pro =
newproxybro
(new
girl
("lisa"))
;pro.
send
("麼麼噠");
pro.
send
("玫瑰花"
);
JS常見設計模式 單例模式
乙個類只有乙個例項,並暴露出乙個點供全域性訪問 類 function login 原型 login.prototype hide function hide 單例方法 如果沒建立例項則建立例項並返回 否則返回已建立的例項 let getlogin function return instance l...
js中常見設計模式總結
1.只有乙個例項。2.可以全域性訪問。3.節省記憶體開銷 function single name single.prototype.getname function single.prototype.createobj function name return this obj let a sin...
JS常見的設計模式及實現(JS2)
常見的設計模式及實現 js設計模式一 工廠模式 js設計模式二 單例模式 js設計模式三 模組模式 js設計模式四 模式 js設計模式五 職責鏈模式 js設計模式六 策略模式 js設計模式七 發布 訂閱模式 我們已經知道實現資料的雙向繫結,首先要對資料進行劫持監聽,需要設定乙個 observer,用...