設計模式之橋接模式

2021-09-18 05:14:46 字數 802 閱讀 2355

前提:含抽象類、擴充套件介面、具體實現類、具體擴充套件類。使用組合的方式替代繼承。(ps:最近想不到更新啥,就先更著以前呆的橋接模式)

區別:橋接模式與策略模式均採用組合的方式,區別在於可將策略模式當成橋接模式的子集,去掉橋接模式的擴充套件介面,那橋接模式與策略模式就基本一致,都是擁有乙個使用介面的物件聚合某個介面後呼叫介面具體的實現類。

參考:

用途:關聯不同物件的關係。如多個軟體與多個系統。

參考:

1 抽象類(形狀介面):

public abstract class

shape

public abstract void

draw();

} 2 擴充套件介面(顏色介面):

public inte***ce

color

3 具體實現類(正方形、圓形等):

public class

square

extends

shape

} 4 具體擴充套件實現(顏色):

public class

colorwhite

implements

color

} 5 使用:

public static void

main

(string args)

設計模式之橋接模式

public class test 兩個維度 乙個是具體產品,如狗 豬 乙個是抽象產品,如溫順的動物 冷酷的動物 排列組合 如溫順的狗 冷酷的豬等 abstract class animal 該橋接類的引入是關鍵 abstract class animalbridge extends animal ...

設計模式之 橋接模式

今天來學習橋接模式,在我們日常生活中,有很多的事物是可以 多維度 的變化的,比如我們去吃麵條,有雞絲面和牛肉麵兩種,每一種面又分為辣味的和不辣的,而且每種面可能會分為大碗小碗的。很多事物能夠變化的維度不止一種,甚至數十種,那麼我們在 上怎麼應對這些變化呢?每乙個都單獨弄乙個類顯然不是什麼好辦法。那麼...

設計模式之橋接模式

在軟體系統中,某些型別由於自身的邏輯,它具有兩個或多個維度的變化,那麼如何應對這種 多維度的變化 如何利用物件導向的技術來使得該型別能夠輕鬆的沿著多個方向進行變化,而又不引入額外的複雜度?這就要使用橋接模式。現在有咖啡,按大小分可以分為中杯和大杯,按型別可以分為拿鐵和摩卡,所以現在總共有四中咖啡,中...