橋接模式二(Bridge

2022-07-31 12:30:17 字數 779 閱讀 1765

昨天寫到了橋接模式的**實現,今天我們就繼續來講完橋接模式。

有認真看的會發現,昨天的**實現只是兩個維度的變化;哪麼有人可能就會問了哪如果我要加多乙個維度呢?我要具體到企業的哪個部門,哪我們應該怎麼加呢?下面我就給大家看看**是怎麼實現的。

要想實現加入部門這個維度只要新增以下**:

abstract

class

department

set }

public

abstract

void

departmentwyy();}

class

information : department

}

客戶端呼叫:

static

void main(string

args)

好了,看到這兩段**大家應該知道橋接模式應該怎麼去實現了。

到這裡我們回過頭來考慮傳統的做法,我們只使用類的繼承這一方式來實現以上的例子。你會發現如果用傳統的作法會產生很多子類,擴充套件性差,可維護差;而且耦合度很高(不了解繼承的可以自己去找找資料,搞懂類的繼承是怎麼一回事,對你會有很大的幫忙)。

而使用橋接模式的話,從結構類中我們就可以看出橋接的耦合度低,每個物件之間各不影響,都有自己獨立的變化。

至於橋接模式的適應用性,優缺點有興趣的可以自行了解(畢竟每個人的理解都有所不同,只有自己用心去理解出來的才是最好的、印象也才最ips)

語言組織不太好,請多多包含。。。

原文裡有源**

橋接模式(Bridge)

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

Bridge橋接模式

include using namespace std bridge橋接模式。class base class son1 public base 這是基類具體方法實現。class son2 public base 如果此時有了新的模組加入,或者說要實現基類的另外一些 方法,我們在這裡只需要重新建造乙...

Bridge 橋接模式

物件和行為自由組合。當不同的物件具有多種可列舉的行為,且不同行為的物件可被描述為不同的具體的物件,不同的行為與物件結合將產生大量具有差異性具體物件,為了防止對這些具體物件的列舉,將差異性的行為與物件本身分離出來。比如遊戲裡面的英雄的裝備與動作 描述不同汽車的行為 汽 油 電等不同發動機的執行方式,見...