目的
將實作體系與抽象體系分離開來,讓兩者能各自更動各自演進。
結構
解釋
當你有一個系統需要跨不同平台時,你可能會創造一個 Interface Window 然後繼承出 AndroidWindow 跟 IOSWindow,然後呼叫各自的類別庫進行底層繪製
假設底下還有各種元件,如 Icon 等等,你可能需要繼承 Window 創建一個 IconWindow 然後底下再創建 AndroidIconWindow 跟 IOSIconWindow
假設現在要支援第三個平台 Win 10 則需要每個 Window 跟 IconWindow 都擴充一個新的類別,系統會越發複雜
所以 Bridge 是將繪製的細節與畫面的實作分開,如下圖所示
所以一但需要增加 IconWindow時,可以直接增加到 Window 底下
如果增加 Win10 平台,則只需要在 Draw 增加 Win10Draw,並完成相對應的繪製內容