光貓橋接模式怎么設置192.168.1.1 光貓橋接模式怎么設置方法



文章插圖
光貓橋接模式怎么設置192.168.1.1 光貓橋接模式怎么設置方法

文章插圖
橋接設計模式:結構型設計模式將抽象部分與它實現部分離,使它們都可以獨立地變化通俗來說,是通過組合來橋接其它的?為/維度應用場景:系統需要在構件的抽象化?色和具體化?色之間增加更多的靈活性不想使用繼承導致系統類的個數急劇增加的系統有時候一個類,可能會擁有多個變化維度,?如啤酒,有不同的容量和品牌,可以使用繼承組合的?式進行開發,假如維度很多,就容易易出現類的膨脹,使用橋接模式就可以解決這個問題,且解耦業務背景:手機可以從兩個維度進行變化,一個是品牌,一個是內存.此時我們就可以通過橋接模式將這兩個維度分離開來,每一個維度都可以獨立擴展.比如說手機品牌,蘋果、三星、錘子等等.內存方面又可以生產10G、16G等等.從專業的角度來看可以這樣定義橋接模式.橋接模式圖:
核心組成:client:指的是我們買手機的人Abstraction(抽象類):指的是手機抽象類Refined Abstraction(具體類):指的是具體手機品牌Implementor:在這里相當于手機的其他組件,內存ConcreteImplementor:具體的內存型號.實現步驟:定義Implementor,這里定義手機內存接口
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();}}橋接模式的優點:抽象和實現的分離.優秀的擴展能?,符合開閉原則橋接模式的缺點:增加系統的理解與設計難度使用聚合關聯關系建立在抽象層,要求開發者針對抽象 進?設計與編程,比如抽象類汽車,?面聚合了顏?類,有點像對象適配器