什么是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 2026年春节祝福语简短
16 冬至婆婆的祝福语简短
17 新年过后奋斗祝福语简短
18 学生开心成语祝福语简短