018 第22章 橋接模式

2022-07-17 03:09:13 字數 2034 閱讀 4458

簡述:

橋接模式:將抽象部分與它的實現部分分離,是它們都可以獨立的變化。

橋接模式包括:抽象類、具體抽象類、實現類、具體實現類。

抽象類:抽象要執行的操作。

具體抽象類:包含實現類的指標,實現抽象類的虛函式。

實現類:具體實現的抽象。

具體實現類:實現類的具體實現。

橋接模式:

1 #include 2

using

namespace

std;34

//實現類

5class

cimplementor6;

1011

//具體實現類a

12class cconcreteimplementora : public

cimplementor

1319

};20

21//

具體實現類b

22class cconcreteimplementorb : public

cimplementor

2329

};30

31//

抽象類32

class

cabstraction

3342

43virtual

void

operation()

4447

};48

49//

具體抽象類

50class crefinedabstraction : public

cabstraction

5157

};58

59int

main()

60

輸出結果:

例:手機品牌和手機軟體橋接

**如下:

1 #include 2

using

namespace

std;34

//手機軟體類(實現類)

5class

chandsetsoft6;

1011

//手機遊戲類(具體實現類)

12class chandsetgame : public

chandsetsoft

1319

};20

21//

手機通訊錄類(具體實現類)

22class chandsetaddresslist : public

chandsetsoft

2329

};30

31//

32class chandset*** : public

chandsetsoft

3339

};40

41//

手機品牌類(抽象類)

42class

chandsetbrand

4354

55//

執行56

virtual

void run() = 0;57

};58

59//

手機品牌n類(具體抽象類)

60class chandsetbrandn : public

chandsetbrand

6167

};68

69//

手機品牌m類(具體抽象類)

70class chandsetbrandm : public

chandsetbrand

7177

};78

79//

手機品牌s類(具體抽象類)

80class chandsetbrands : public

chandsetbrand

8187

};88

89int

main()

90

輸出結果:

《大話設計模式》讀書筆記 第22章 橋接模式

1 合成 聚合復用原則 carp 盡量使用合成 聚合,盡量不要使用類繼承。2 合成 聚合復用原則的好處 優先使用物件的合成 聚合將有助於你保持每個類被封裝,並被集中在單個任務上。這樣類和類繼承層次會保持較小規模,並且不太可能增長為不可控制的龐然大物。3 橋接模式 bridge 將抽象部分與它的實現部...

《大話設計模式》 第22個 橋接模式

今天學習了橋接模式 此模式可以解決因為設計不當的繼承而導致的類 問題,如下類圖所示 此類圖的設計目的是為了給不同手機品牌各自設計不同的通訊錄和遊戲功能。但是可以看到,這樣設計出來的 可擴充套件性比較差。1 如果要再加另外一種手機品牌,那麼就必須新增乙個手機品牌類,再新增相應的遊戲和通訊錄類。2 如果...

橋接模式(Bridge)

個人理解 橋接模式的精髓在於維護乙個抽象物件,並抽取這個物件的抽象部分。uml類圖 實現 public inte ce icomponent public class componenta icomponent public class componentb icomponent public ab...