什么是Facade,以及如何在C#中实现?
Facade模式是一种简单的结构,位于更复杂的结构上。
参与者们
子系统是实现功能但可以被Facade“包装”或“覆盖”以简化接口的任何类或对象。
外观是子系统之上的抽象层,并且知道将适当的工作委派给哪个子系统。
Facade模式是如此的笼统,几乎适用于所有主要应用程序,尤其是那些由于各种原因我无法重构或修改应用程序的应用程序。
示例
public class HomeFacade {
LightsFacade light;
MusicSystemFacade musicSystem;
AcFacade ac;
public HomeFacade() {
light = new LightsFacade();
musicSystem = new MusicSystemFacade();
ac = new AcFacade();
}
public void LeaveHomeForOffice() {
light.SwitchOffLights();
musicSystem.SwitchOffMusicSystem();
ac.SwitchOffAc();
}
public void ArriveHomeFromOffice() {
light.SwitchOnLights();
musicSystem.SwitchOnMusicSystem();
ac.SwitchOnAc();
}
}
public class LightsFacade {
public void SwitchOnLights() {
Console.WriteLine("Switched on Lights");
}
public void SwitchOffLights() {
Console.WriteLine("Switched off Lights");
}
}
public class MusicSystemFacade {
public void SwitchOnMusicSystem() {
Console.WriteLine("Switched on MusicSystem");
}
public void SwitchOffMusicSystem() {
Console.WriteLine("Switched off MusicSystem");
}
}
public class AcFacade {
public void SwitchOnAc() {
Console.WriteLine("Switched on Ac");
}
public void SwitchOffAc() {
Console.WriteLine("Switched off Ac");
}
}热门推荐
10 圣诞祝福语简短小学
11 祖国七十华诞简短祝福语
12 老师送的祝福语简短
13 生日祝福语大全女生简短
14 祝女性生日祝福语简短
15 牛年女神节祝福语简短
16 情人表白祝福语简短大气
17 老公开业祝福语简短
18 官宣新年祝福语简短