原文:
設計模式之十(外觀模式)
前言外觀模式:為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一系統更加容易使用.
結構圖
subsystem class 子系統類集合 實現子系統的功能,處理facade物件指派的任務,注意子類中沒有facade的任何資訊,即沒有對facade物件的引用
**實現
首先是四個子系統的類
public class subsystemone
}public class subsystemtwo
}public class subsystemthree
}public class subsystemfour
}
外觀類
public class facade
public void methoda()
public void methodb()
}
客戶端呼叫
class program
}
執行結果如下
總結首先,在設計初期階段,應該要有意識的將不同的兩個層分離。
其次,在開發階段,子系統往往因為不斷的重構演化而變得越來越複雜。增加外觀facade可以提供乙個簡單的介面,減少它們之間的依賴。
第三,在維護乙個遺留的大型系統時,可能這個系統已經非常難以維護和擴充套件了。可以為新系統開發乙個外觀facade類,來提供設計粗糙或高度複雜的遺留**的比較清晰簡單的介面,讓新系統與facade物件互動,facade與遺留**互動所有複雜的工作。
設計模式之十(外觀模式)
前言 外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一系統更加容易使用.結構圖 subsystem class 子系統類集合 實現子系統的功能,處理facade物件指派的任務,注意子類中沒有facade的任何資訊,即沒有對facade物件的引用 實現 首先...
設計模式(十)之Facade 外觀模式
本文介紹設計模式中的外觀 facade 模式的概念,用法,以及實際應用中怎麼樣使用facade模式進行開發。facade模式的概念 facade模式為一組具有類似功能的類群,比如類庫,子系統等等,提供乙個一致的簡單的介面。這個一致的簡單的介面被稱作facade。在 應用系統中,為了實現某具有複雜功能...
設計模式之(十) 外觀模式(facade)
gof 設計模式 一書對facade模式是這樣描述的 為子系統中的一組介面提供乙個統一介面。facade模式定義了乙個更高層的介面,使子系統更加容易使用。大致意思是說 使用一種比原有方式更簡單的辦法與系統互動。例如,我們把乙個很檔案的檔案,放在了第二抽屜裡,而第二個抽屜的鑰匙放在了第乙個抽屜裡,我們...