iT邦幫忙

0

那些年我被老師電的題目-【GOF Patten邏輯大考驗】

  • 分享至 

  • xImage

Strategy(策略模式) vs Bridge(橋接模式)

老師: 你說2者都是把抽象類別跟實作類split而達到decouple,那請告訴我
Strategy的抽象在哪裡?

我(當下): 照架構來看的話,Strategy抽象是在context那欄,他可以有很多子類,恩.......我需要好好想想怎麼解釋

我與小夥伴的對話完的想法: Bridge的抽象是要為了給下面的子類當介面,這樣我們在不同介面下也可以使用我想要用的實作,Strategy底下的子類也可以利用不同Strategy來組合不同的實作,但往往Strategy是解決同個問題不同方式,而Bridge的抽象是結合2種不同實作不同方式

Bridge(橋接模式)內會不會有多個Abstraction但只有一個Imptementor質做

我(當下): 這樣的話Bridge就沒有存在的必要,根據GOF內部寫這種事Bridge的退化版,因為所有的Abstraction只會去執行一種Imptementor,但如果是不希望波及既有程式碼的話,Bridge仍有幫助。

我(事後):其實Bridge還是會在的,只是Imptementor的介面沒有存在的必要,我們可以直接連接到Imptementor實作本身,不過由於我們的情景是一對多,我們仍會需要這個Imptementor的介面來為後期進行擴充,而不適再Imptementor實作本身塞入一推實作

Command跟Memento的undo功能是一樣的嗎?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答