适配器模式
前言
在软件设计中,为了解决接口不一致的问题,两个软件模块之间往往也需要通过一个适配器类Adapter 进行“适配”。这样的模式叫做适配器设计模式。该模式可以分为两种:类适配器模式和对象适配器模式
概念
在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
类设计图
1. 类适配器模式
类适配器模式的设计要点为,写一个Target jiekou 生命所有需要的方法operation1 和operation2;写一个Adapter 类继承Adaptee 类,并且实现接口Target。
2. 对象适配器模式
对象适配器模式的设计要点为,在接口Target 类声明方法operation1 和operation2,在Adapter勒种,需要实现两个方法operation1 和operation2。在实现operation1 是,在其代码中实现对Adaptee 的operation1 的调用。
介绍
1.分类
- 类适配器模式(Class Adapter Pattern)
- 对象适配器模式(Object Adapter Pattern)
2. 何时使用适配器模式
在以下情况下使用适配器模式:
- 当系统想要使用现有的类,但是现有的类的接口不符合系统的需要时。
- 当需要创建一个可复用的类,使得本来接口不相容并且无关的类结合在一起工作的时候。
- 在设计中需要改变多个自类接口,在作用相同但名称不同的类或方法之间进行适配时。
3. 适配器模式的作用
适配器模式是将接口不同而功能相近的两个接口加以转换,包括适配器角色补充原角色没有,但目标接口需要的方法。
应用场景
例1:类适配器模式:
某公司购买了一个用于验证客户信息的离架产品类InfoValidation,但是买方没有提供源代码。该类可以用于检查客户输入的信息,包含验证姓名、地址、电话号和手机号等功能。如果需要增加一个验证社会安全号(SSN)的功能,则可以通过适配器的模式来实现。
1. 类设计图
使用类适配器模式实现增加验证SSN的功能:
2. 代码
代码连接:【例】-类适配器模式-客户信息验证
例2:对象适配器模式:
实现字符串序列排序。要求从一个.txt 文件读入一些英文字符,并对这些字符排序。
1. 类设计图
使用对象适配器模式实现字符串序列排序:
2. 代码
代码连接:【例】-对象适配器模式-字符串排序
长街长,烟花繁,你挑灯回看,短亭短,红尘辗,我把萧再叹