策略模式主要針對判斷條件居多但是判斷條件相對來說簡單的程式
比如 redux中的action type的判斷
值:對應的**
const typeobj1 =
}const typeobj = ,
}const reducer = (state,action)=>
}
特點:
1.要在開發中使用該模式,要做好封裝,採用物件導向的方式
2.要能夠監聽不同的型別;
3.在發布動作觸發的時候,要能夠給所有的訂閱者傳遞資訊
採用物件導向的方式的話,我們需要確定乙個例項中應該有哪些屬性和方法,我們需要乙個events屬性用來儲存所有的訂閱者,但是這裡的list不是乙個陣列,應該是乙個物件,因為我們需要對區分不同型別的訂閱者,該物件中的屬性名將作為訂閱者的型別。還需要有on訂閱方法,該方法用來執行訂閱動作,這裡的訂閱動作不僅新增訂閱者,還需要區分型別,因此會接收兩個引數。乙個字串,乙個函式。再需要乙個發布動作emit,該方法需要接收乙個字串和乙個載荷作為引數,字串決定了觸發何種型別的訂閱者,載荷可以作為傳遞給各個訂閱者的引數
class watch //
} on(type,listener)
this.events[type].push(listener)
} emit(type,...reset)) }}
const w = new watch()
w.on('ok',(msg)=>)
w.emit('ok','helloword')
【fn,fn,fn,fn】
利用中介軟體模式將非同步轉為同步
const arr =[
(next)=>console.log(1),next()
(next)=>console.log(2),next()
(next)=>,
()=>console.log(4)
]function run(arr)
arr[0](next)
}
其他設計模式列表:
具體內容待完善…
Java三種設計模式
私有功能 private animalfactory 工廠改進 提供貓和狗這兩種動物 public static animal createanimal string type else if cat equals type else 2,工廠方法模式 需要提供抽象類,具體的類,乙個工廠介面,以及具...
三種設計模式分類
1 建立型模式作用 在建立者模式中,客戶端不再負責物件的建立與組裝,而是把這個物件建立的責任交給其具體的建立者類,把組裝的責任交給組裝類,客戶端只負責物件的呼叫,明確了各個類的職責。2 結構型模式結構型模式是解析類和物件的內部結構和外部組合,通過優化程式結構解決模組之間的耦合問題。3 行為型模式為型...
java設計模式 三種工廠模式
工廠模式提供建立物件的介面。工廠模式分為三類 簡單工廠模式 factory 工廠方法模式 factory method 和抽象工廠模式 abstract factory gof在 設計模式 中將工廠模式分為兩類 工廠方法模式 factory method 和抽象工廠模式 abstract facto...