文章插圖

文章插圖
橋接設計模式:結構型設計模式將抽象部分與它實現部分離,使它們都可以獨立地變化通俗來說,是通過組合來橋接其它的?為/維度應用場景:系統需要在構件的抽象化?色和具體化?色之間增加更多的靈活性不想使用繼承導致系統類的個數急劇增加的系統有時候一個類,可能會擁有多個變化維度,?如啤酒,有不同的容量和品牌,可以使用繼承組合的?式進行開發,假如維度很多,就容易易出現類的膨脹,使用橋接模式就可以解決這個問題,且解耦業務背景:手機可以從兩個維度進行變化,一個是品牌,一個是內存.此時我們就可以通過橋接模式將這兩個維度分離開來,每一個維度都可以獨立擴展.比如說手機品牌,蘋果、三星、錘子等等.內存方面又可以生產10G、16G等等.從專業的角度來看可以這樣定義橋接模式.橋接模式圖:
public interface Memory {public void addMemory();}定義ConcreteImplementor,這里指具體的內存public class Memory6G implements Memory {@Overridepublic void addMemory() {System.out.println("6G內存");}}public class Memory8G implements Memory {@Overridepublic void addMemory() {System.out.println("8G內存");}}定義Abstraction手機抽象類public abstract class Phone {public Memory memory;public void setMemory(Memory memory) {this.memory = memory;}public abstract void buyPhone();}定義Refined Abstraction(具體的手機品牌)【光貓橋接模式怎么設置192.168.1.1 光貓橋接模式怎么設置方法】
public class HuaWei extends Phone {@Overridepublic void buyPhone() {System.out.println("購買de華為手機-");memory.addMemory();}}public class XiaoMi extends Phone {@Overridepublic void buyPhone() {System.out.println("購買de小米手機-");memory.addMemory();}}上下文應用public class BridgeContext {public static void main(String[] args) {Phone huaWei = new HuaWei();huaWei.setMemory(new Memory6G());huaWei.buyPhone();huaWei.setMemory(new Memory8G());huaWei.buyPhone();Phone xiaomi = new XiaoMi();xiaomi.setMemory(new Memory6G());xiaomi.buyPhone();xiaomi.setMemory(new Memory8G());xiaomi.buyPhone();}}橋接模式的優點:抽象和實現的分離.優秀的擴展能?,符合開閉原則橋接模式的缺點:增加系統的理解與設計難度使用聚合關聯關系建立在抽象層,要求開發者針對抽象 進?設計與編程,比如抽象類汽車,?面聚合了顏?類,有點像對象適配器- 安卓微博黑暗模式 三星顯示微博
- 海爾空調遙控怎么設置成擺風模式
- 騰訊和京東的合作模式是什么 京東與騰訊有合作關系嗎
- iphonex恢復模式怎么進dfu模式 iphonex恢復模式怎么進手機白蘋果了
- iphone8dfu模式怎么進入 蘋果8pdfu模式怎么進
- Java有哪些設計模式 java什么是設計模式
- 富士相機自定義模式設置 富士驅動器設置
- 安卓微信暗黑模式什么時候出,微信安卓深色模式怎么設置
- 電腦顯示屏測試模式 系統顯示測試模式
- surface 模式切換 surface界面怎么切換
