設計模式 9 外觀模式

2022-06-05 12:48:11 字數 973 閱讀 2342

比如開一台裝置需要按順序給顯示器通電、亮燈、發出聲音。

在使用外觀模式前,客戶端直接呼叫通電、亮燈、發出聲音。

在這樣的情況下,後續如果流程發生變化,比如不需要發出聲音或聲音需要在亮燈之前,就需要修改客戶端的**,如果客戶端多處呼叫,就需要修改多處。

public class subsystemone

}public class subsystemtwo

}public class subsystemthree

}// 業務呼叫

subsystemone one = new subsystemone();

one.methodone();

subsystemtwo two = new subsystemtwo();

two.methodtwo();

使用外觀模式以後,業務系統在啟動的時候只需要按下開關,由開關去觸發通電、亮燈、發出聲音的操作。業務端的**只需要按下開關。後續如果流程發生變化,只需要修改 facade 類。

public class subsystemone

}public class subsystemtwo

}public class subsystemthree

}public class facade

public void methoda()

public void methodb()

}// 業務呼叫

facade f = new facade();

f.methoda();

f.methodb();

可用於如果 新系統 需要呼叫 遺留** 中邏輯比較複雜的**時,可使用外觀模式,由 facede 類去封裝複雜的邏輯,並提供簡單的介面給新系統使用。

設計模式9 外觀模式

將類與類之家的依賴關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面 實現類1 public class cpu public void shutdown 實現類2 public class memory public void shutdown 實現類3 public c...

設計模式 外觀模式(9)

一 定義 外觀模式為子系統中的一組介面提供乙個一致的介面,其實就是提供乙個高層介面,方便別人的呼叫。二 框架運用 spring jdbc中的外觀模式 org.springframework.jdbc.support.jdbcutils mybatis中的外觀模式 org.apache.ibatis....

設計模式(9) 外觀模式

外觀模式 facade 結構型模式 1.概述 外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式是迪公尺特法則的一種具體實現,通過引入乙個新的外觀角色可以降低原有系統的複雜度,同時降低客戶類與子系統的耦合度。例如 你請朋友吃飯,你...