定义:适配器模式将一个类的接口,转换为客户希望另一个接口。
外观模式:外观模式提供了一个统一的接口,用来访问子系统中一群接口。
要点:
当需要使用一个类而其接口不符合你的需求的时候,使用适配器。
当需要简化并统一一个很大的接口或一群负责的接口时,使用外观。
适配器可以改变接口以符合客户的期望。
外观将客户从一个复杂的子程序解耦。
你可以为一个子系统实现一个以上的外观。
适配器将一个对象包装起来以改变其接口。装饰者将一个对象包装起来已增加新的行为和责任。
例子:
/// <summary> /// 鸭子类的接口 /// /// 是鸭子都要实现这个接口 /// 能叫能跳 /// </summary> interface IDuck { void Quack(); void Fly(); }
/// <summary> /// 鸭子的实例类 绿头鸭 /// /// /// </summary> class MallardDuck:IDuck { public void Quack() { Console.WriteLine("鸭子 嘎嘎叫"); } public void Fly() { Console.WriteLine("鸭子 慢慢的跳舞"); } }
/// <summary> /// 鸡的接口 /// /// 是鸡都要实现这个接口 /// 能叫能跳 /// </summary> interface ITurkey { void Gobble(); void Fly(); }
/// <summary> /// 鸡的实例 /// /// 鸡的实例 火鸡 /// </summary> class WildTurkey:ITurkey { public void Gobble() { Console.WriteLine("火鸡 唧唧叫"); } public void Fly() { Console.WriteLine("火鸡 摇摆的跳舞"); } }