多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 概述 亦称:封装器模式、Wrapper、Adapter 实现方式就是继承原来的方法,覆盖需要做适配的方法,并提供一个适配类传入继承的方法当做属性,在覆盖的方法里进行调用 ## 适配器模式结构 ![](https://img.kancloud.cn/25/67/256706508abf6f2112e9c472873c46e4_1160x640.png) 1. 客户端 (Client) 是包含当前程序业务逻辑的类。 2. 客户端接口 (Client Interface) 描述了其他类与客户端代码合作时必须遵循的协议。 3. 服务 (Service) 中有一些功能类 (通常来自第三方或遗留系统)。 客户端与其接口不兼容, 因此无法直接调用其功能。 4. 适配器 (Adapter) 是一个可以同时与客户端和服务交互的类: 它在实现客户端接口的同时封装了服务对象。 适配器接受客户端通过适配器接口发起的调用, 并将其转换为适用于被封装服务对象的调用。 5. 客户端代码只需通过接口与适配器交互即可, 无需与具体的适配器类耦合。 因此, 你可以向程序中添加新类型的适配器而无需修改已有代码。 这在服务类的接口被更改或替换时很有用: 你无需修改客户端代码就可以创建新的适配器类。 ## 适合应用场景 1. 当你希望使用某个类, 但是其接口与其他代码不兼容时, 可以使用适配器类。 2. 如果您需要复用这样一些类, 他们处于同一个继承体系, 并且他们又有了额外的一些共同的方法, 但是这些共同的方法不是所有在这一继承体系中的子类所具有的共性。