外觀模式又稱為門面模式,為一組類似功能的集群,比如類庫、子系統等,提供一致的入口供client呼叫
角色和職責:
1.門面(facade)-computer:
外觀模式的核心。它被客戶角色呼叫,它熟悉子系統的功能。內部根據客戶角色的需求預定了幾種功能的組合
2.子系統(packages)=cpu、memory、disk:
實現了子系統的功能。它對客戶角色和facade時未知的。它內部可以有系統內的相互互動,也可以由供外界呼叫的介面
uml圖:
具體原始碼:
/*** cpu */
public
class
cpu
/*** 關閉cpu
*/public
void
shutdowncpu()
}
/*** 記憶體條 */
public
class
memory
public
void
shutdownmemory()
}
/*** 桌面 */
public
class
disk
public
void
shutdowndisk()
}
/*** 電腦 */
public
class
computer
/*** 啟動電腦
*/public
void
start()
/*** 關閉電腦
*/public
void
shutdown()
}
public優缺點:class
main
}
優:應用場景:
為複雜的模組或子系統提供外界訪問的模組
子系統相互獨立
在層析結構中,可以使用外觀模式定義系統的每一層的入口。
設計模式 外觀模式(Facade)
外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面。我們以乙個計算機的啟動過程為例 cpu類 public class cpu public void...
設計模式 外觀 Facade 模式
insus.net在去年有寫過一篇 軟體研發公司,外觀設計模式 facade 例中寫得過於簡單與抽象。沒有實質內容似的。這次想再寫乙個。希望能再次加強。為子系統中的一組介面提供乙個統一的高層介面,使客戶使用子系統更容易這是外觀 facade 模式的精髓。在實現之前,可以先看看這篇 web控制項文字框...
設計模式 外觀模式Facade
前言 模式總覽 by xingoo 外觀模式主要是為了為一組介面提供乙個一致的介面。從而使得複雜的子系統與使用者端分離解耦。有點類似家庭常用的一鍵開關,只要按乙個鍵,檯燈臥室客廳的燈都亮了。雖然他們各有各自的開關,但是對外用乙個來控制。1 為複雜系統 提供簡單的介面。2 客戶程式與抽象類的實現部分分...