外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,
而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面。
我們以乙個計算機的啟動過程為例:
◆cpu類:
public class cpu
public void shutdown()
}
◆memory類:
public class memory
public void shutdown()
}
◆disk類:
public class disk
public void shutdown()
}
◆computer類:
public class computer
public void startup()
public void shutdown()
}
◆user類:
public class user
}
◆輸出:
start the computer!
cpu startup!
memory startup!
disk startup!
start computer finished!
begin to close the computer!
cpu shutdown!
memory shutdown!
disk shutdown!
computer closed!
如果我們沒有computer類,那麼,cpu、memory、disk他們之間將會相互持有例項,產生關係。
這樣會造成嚴重的依賴,修改乙個類,可能會帶來其他類的修改,這不是我們想要看到的,有了computer類,他們之間的關係被放在了computer類裡,這樣就起到了解耦的作用,
這就是外觀模式!
設計模式 外觀 Facade 模式
insus.net在去年有寫過一篇 軟體研發公司,外觀設計模式 facade 例中寫得過於簡單與抽象。沒有實質內容似的。這次想再寫乙個。希望能再次加強。為子系統中的一組介面提供乙個統一的高層介面,使客戶使用子系統更容易這是外觀 facade 模式的精髓。在實現之前,可以先看看這篇 web控制項文字框...
設計模式 外觀模式Facade
前言 模式總覽 by xingoo 外觀模式主要是為了為一組介面提供乙個一致的介面。從而使得複雜的子系統與使用者端分離解耦。有點類似家庭常用的一鍵開關,只要按乙個鍵,檯燈臥室客廳的燈都亮了。雖然他們各有各自的開關,但是對外用乙個來控制。1 為複雜系統 提供簡單的介面。2 客戶程式與抽象類的實現部分分...
設計模式 外觀模式(Facade)
外觀模式又稱為門面模式,為一組類似功能的集群,比如類庫 子系統等,提供一致的入口供client呼叫 角色和職責 1.門面 facade computer 外觀模式的核心。它被客戶角色呼叫,它熟悉子系統的功能。內部根據客戶角色的需求預定了幾種功能的組合 2.子系統 packages cpu memor...