一、定义
外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
解释:简单来说,客户端需要调用一个特别复杂的子系统中的多个接口,如果直接调用逻辑处理起来会非常复杂,而且不便于系统扩展。外观模式把这个复杂的子系统统一起来,提供几个高层接口,以备客户端进行调用。通俗来说是:子系统是一个黑匣子,提供若干个透明接口以备调用。
二、UML类图及基本代码
基本代码:
class Program { static void Main(string[] args) { Facade facade = new Facade(); facade.MethodA(); facade.MethodB(); Console.Read(); } } class Facade { SubSystemOne systemOne; SubSystemTwo systemTwo; SubSystemThree systemThree; public Facade() { systemOne = new SubSystemOne(); systemTwo = new SubSystemTwo(); systemThree = new SubSystemThree(); } public void MethodA() { Console.WriteLine("\n方法组A()---"); systemOne.MethodOne(); systemThree.MethodThree(); } public void MethodB() { Console.WriteLine("\n方法组B()---"); systemOne.MethodOne(); systemTwo.MethodTwo(); } } class SubSystemOne { public void MethodOne() { Console.WriteLine("子系统方法一"); } } class SubSystemTwo { public void MethodTwo() { Console.WriteLine("子系统方法二"); } } class SubSystemThree { public void MethodThree() { Console.WriteLine("子系统方法三"); } }