适配器模式将一个或多个类接口变成客户端所期望的一个接口。虽然大多数教科书所采用的例子中适配器只适配一个类,但是我们可以适配多个类来提供一个接口让客户端编码。
外观模式则主要是为了提供简化的接口以方便用户调用。
适配器模式的意图是:将一个现有的类适配给用户所期望的一个接口,供用户调用。让原本不兼容的类可以合作无间。适配器改变接口以符合用户期望。
外观模式的意图是:提供子系统的一个简化的接口,方便用户调用。外观模式定义了一个高层接口,让子系统更容易使用。(子系统可能较复杂)例如,我们想要把一头大象装进冰箱。普通方法需要调用3个方法:1.打开冰箱门 2.把大象装进冰箱 3.关闭冰箱门。外观模式只需要一个方法:1.把大象装进冰箱(已经实现了打开冰箱门和关闭冰箱门)。
适配器将对象包装起来以改变其接口,装饰者将对象包装起来以增加新的行为和责任,外观模式将一群对象“包装”起来以简化其接口。
代码: