//以下是三个简单的子系统类
//子系统一 class SubSystemOne { public void MethodOne() { Console.WriteLine("子系统的实现方法一"); } }
//子系统二 class SubSystemTwo { public void MethodTwo() { Console.WriteLine("子系统的实现方法二"); } }
//子系统三 class SubSystemThree { public void MethodThree() { Console.WriteLine("子系统的实现方法三"); } }
客户端代码就不写了,起始就是调用外观类的不同方法而实现不同子系统的功能而已,这个模式完美体现了依赖倒置原则和迪米特原则的思想。//外观类 class Facade { SubSystemOne one; SubSystemTwo two; SubSystemThree three; public Facade() { one = new SubSystemOne(); two = new SubSystemTwo(); three = new SubSystemThree(); } public void MethodA() { Console.WriteLine("方法组A()-----------"); one.MethodOne(); two.MethodTwo(); three.MethodThree(); } public void MethodB() { Console.WriteLine("方法组B()-----------"); three.MethodThree(); two.MethodTwo(); one.MethodOne(); } }