适配器模式与装饰器模式详解
1. 适配器模式概述
适配器模式允许将现有接口适配到原本不兼容的类上。使用该模式的对象也可称为包装器,因为它们会用新接口包装另一个对象。在许多情况下,创建适配器对程序员和接口设计者都有益。例如,在设计类时,某些接口可能无法与现有 API 一起使用,而适配器能让我们在不直接修改这些类的情况下使用它们。
1.1 适配器的特点
- 协调接口 :适配器用于协调两个不同的接口。如果现有代码的接口运行良好,可能就不需要适配器;但如果接口不直观或不实用,就可以使用适配器提供更简洁或选项更丰富的接口。
- 与外观模式的区别 :表面上,适配器模式与外观模式非常相似,它们都会包装另一个对象并改变其对外呈现的接口。但区别在于接口的改变方式。外观模式提供简化的接口,不包含额外选项,有时会做一些假设以简化常见任务;而适配器则是将一个接口转换为另一个接口,不会移除任何功能或简化接口。当客户端期望的 API 不可用时,就需要使用适配器。
1.2 适配器的实现示例
适配器可以实现为不兼容方法调用之间的一层薄代码。例如,有一个函数需要三个字符串作为参数,但客户端持有一个包含三个字符串元素的数组,这时就可以使用适配器让两者一起工作。
var clientObject = {
string1: 'foo',
string2: 'bar',
string3: 'baz'
};
function interfaceM
超级会员免费看
订阅专栏 解锁全文
1272

被折叠的 条评论
为什么被折叠?



