設計模式 外觀模式(Facade)

2022-05-01 11:03:09 字數 1211 閱讀 7799

外觀模式又稱為門面模式,為一組類似功能的集群,比如類庫、子系統等,提供一致的入口供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 客戶程式與抽象類的實現部分分...