2020年4月12日 星期日

Design Pattern Bridge

Bridge 的目的在於認兩個類型的類別彼此之間不要有依賴的關係,而是都依賴介面。
如Render和Shape之間的關係。
Render有VectorRender及ScaleRender
Shape有Circle及Rectangle及...
如果以 inheritance 的方式來產生以VectorRender畫的Circle、以ScaleRender畫的Circle,那這樣類別的數量就會一直增加。
所以,我們讓Circle有一個IRender。
而IRender提供很多基本的方法,讓Circle可以透過這些方法畫出來。
因此,我們可以在建構Circle的時候,把真正的Render再放進去。
若是有新的Render,也都不用修改Circle。

沒有留言:

張貼留言