設計模式 橋接模式

2022-07-19 06:15:13 字數 814 閱讀 2607

1橋接模式:將抽象部分和它的實現部分分離,使不同的實現部分可以獨立的變化。抽象部分可以理解為功能的整體描述,實現部分為不同型別的實現方式。

理解:實現系統可能有多角度分類,每一種分類有可能變化,把這種多角度分離出來,讓他們獨立的變化,減少他們之間的耦合。

作用:當實現系統可能有多角度分類的時候,每種分類都有可能有變化。如手機,手機分類可以按品牌,也可以按軟體。

內容:每一種實現都是一種抽象類,主實現用設定函式與其他實現聯絡

原則:合成、聚合復用原則,盡量使用合成/聚合,盡量不要使用類繼承。

其他:用繼承關係的時候,一定是 is-a 的關係時考慮使用,而不是任何時候都用。

2 demo 實現乙個網上國內手機資訊顯示系統

手機可以按品牌顯示,按軟體型別顯示。

手機抽象物件 ,實現包括品牌和軟體兩部分。將這兩部分分離。

關鍵**實現:

在手機品牌介面中,通過sethandsetsoft完成聚合關係。

abstract class handsetbrand

protected handsetsoft soft;

//設定手機軟體

public void sethandsetsoft(handsetsoft soft)

this.soft=soft;

設計模式 橋接模式

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

設計模式 橋接模式

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

設計模式 橋接模式

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