學習設計模式(4) 橋接模式

2021-07-26 19:59:59 字數 1058 閱讀 4263

今天學習了橋接模式,感覺很受啟發。

1.橋接模式uml圖

2. 理解橋接模式

(1) 將抽象和實現分離開來。

(2) 不同的實現可以自由發展。

(3) 不同的抽象,也可以有許多不同的繼承,這些繼承可以多種多樣。

3. **

說明 :

(1) shape是最高抽象,然後你可以自己繼承多種形狀,圓形,方形,星型,三角形等等。而且就方形而言,方形還可以分為直角邊的方形,圓角方形等。多種多樣的發展。

(2) 實現部分,就可以多種多樣的去發展了。

#include using namespace std;

class drawingimplementor

};class drawingimplementora : public drawingimplementor

virtual ~drawingimplementora() {}

void drawsquare(double side)

};class drawingimplementorb: public drawingimplementor

virtual ~drawingimplementorb() {}

// example: drawing with pencil

void drawsquare(double side)

};class shape

};class square : public shape

virtual ~square() {}

void draw()

void resize(double pct)

private:

double side;

drawingimplementor& drawingimplementor;

};int main(int argc, char* argv)

//

**,測試過,可用。

設計模式 橋接模式

橋接模式 多維 如車行駛在路上。車分各種品牌 各種型號各種排氣 道路分街道 告訴 山地等 駕駛員分男女 為了減少類的數量。如果按照繼承實現會照成大量冗餘的類,類的數量會相當之大 package com.cn.duduyu.bridgepattern.car public abstract class...

設計模式 橋接模式

設計模式 橋接模式 橋接模式 bridge pattern 對應英文名稱可以是bridge或者bradge任意一種都可以。在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外...

設計模式 橋接模式

橋接模式 用來解決多維度變化問題,一般適用於解決乙個物件有多個屬性同時變化,通過橋接的方式使多種屬性變化解耦,場景 1.畫筆 大小有大中小三種,每種對應5種不同的顏色 這裡的變化屬性為大小 顏色 詳解 抽象類 abstraction 定義抽象類的介面,維護乙個指向implementor型別物件的指標...