1. 程式人生 > >設計模式(七):橋接模式

設計模式(七):橋接模式

優點:

  ① 分離抽象介面及其實現部分。提高了比繼承更好的解決方案。

  ② 橋接模式提高了系統的可擴充性,在兩個變化維度中任意擴充套件一個維度,都不需要修改原有系統。

缺點:

  ① 橋接模式的引入會增加系統的理解與設計難度,由於聚合關聯關係建立在抽象層,要求開發者針對抽象進行設計與程式設計。

  ② 橋接模式要求正確識別出系統中兩個獨立變化的維度,因此其使用範圍具有一定的侷限性。

適用範圍:

  ① 系統需要在構件的抽象化角色和具體化角色之間增加更多的靈活性

  ② 對於那些不希望使用繼承或因為多層次繼承導致系統類的個數急劇增加的系統,橋接模式尤為適用。

 

客戶端:

  Color white = new White();  //建立顏色(白色)
  Shape square = new Square();  //建立圖形(正方形)


  square.setColor(white);  //為圖形設定顏色
  square.draw();  //列印圖形 :白色的長方形

一句話概括:將抽象部分與它的實現部分分離,使它們都可以獨立地變化

 

/**
  * Shape (包含Color屬性、draw()方法(呼叫Color的方法);)    Color (含上色方法 bePaint(String shape);)
  * Circle  Rectangle  square                          White  Gray  Black
  
*/