常見三種設計模式

2021-09-24 09:17:05 字數 1080 閱讀 5199

策略模式主要針對判斷條件居多但是判斷條件相對來說簡單的程式

比如 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...