外观模式(门面模式):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。它体现了依赖倒转和多米特法则
子系统一(SubSystemOne)
namespace Facade_Pattern.CLASS { class SubSystemOne { public void MethodA() { Console.WriteLine("子系统一实现方法A"); } } }
子系统二(SubSystemTwo)
namespace Facade_Pattern.CLASS { class SubSystemTwo { public void MethodB() { Console.WriteLine("子系统二实现方法B"); } } }
子系统三(SubSystemThree)
namespace Facade_Pattern.CLASS { class SubSystemThree { public void MethodC() { Console.WriteLine("子系统三实现功能C"); } } }
外观类(Facade)
namespace Facade_Pattern.CLASS { class Facade { SubSystemOne A; SubSystemThree C; SubSystemTwo B; public Facade() { A = new SubSystemOne(); B = new SubSystemTwo(); C = new SubSystemThree(); } public void MethodA() { A.MethodA(); B.MethodB(); } public void MethodB() { B.MethodB(); C.MethodC(); } } }
测试类(TestMain):
namespace Facade_Pattern { class TestMain { static void Main(string[] args) { Facade facade = new Facade(); Console.WriteLine("方法A:"); facade.MethodA(); Console.WriteLine("方法B:"); facade.MethodB(); Console.ReadLine(); } } }
测试结果: