外觀(facade)角色:為多個子系統對外提供乙個共同的介面。
子系統(sub system)角色:實現系統的部分功能,客戶可以通過外觀角色訪問它。
客戶(client)角色:通過乙個外觀角色訪問各個子系統的功能。
package facade;
public class facadepattern
}//外觀角色
class facade
}//子系統角色
class subsystem01
}//子系統角色
class subsystem02
}//子系統角色
class subsystem03
}
設計模式 結構型模式 5 外觀模式
在現實生活中,常常存在辦事較複雜的例子,如辦房產證或註冊一家公司,有時要同多個部門聯絡,這時要是有乙個綜合部門能解決一切手續問題就好了。軟體設計也是這樣,當乙個系統的功能越來越強,子系統會越來越多,客戶對系統的訪問也變得越來越複雜。這時如果系統內部發生改變,客戶端也要跟著改變,這違背了 開閉原則 也...
結構型設計模式 外觀模式
外觀模式為子系統中的一組介面提供了同意的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式中,客戶對各個具體的子系統是不了解的,所以對這些子系統進行了封裝,對外只提供了使用者所明白的單一而簡單的介面,使用者直接使用這個介面就可以完成操作,而不用去理睬具體的過程,而且子系統...
結構型設計模式 外觀模式
我們先來講乙個故事,比如我現在要組裝一台電腦。方案一 去電子市場買cpu,記憶體條,顯示卡,磁碟等所有用到的部件,然後再進行組裝。但是這個方案的問題在於,要對這些部件有所了解,選擇效能好的,考慮不同部件的相容性問題等。方案二 自己組裝太麻煩了,找個裝機公司吧,然後說自己的需求,之後就等著拿電腦就完事...