适配器模式是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一种接口,使得原本由于接口不兼容而不能一起工作的类可以协同工作。
适配器模式包含以下角色:
- 目标接口(Target):客户端所期望的接口,也是适配器要实现的接口。
- 源接口(Adaptee):需要被适配的接口或类。
- 适配器(Adapter):将源接口转换成客户端所期望的接口的类。
下面是一个使用C#语言实现适配器模式的示例,实例中包含一个需要被适配的类`Adaptee`和一个实现了客户端所期望的接口`ITarget`的适配器类`Adapter`:
// 源接口/类
代码语言:javascript复制// 源接口/类
class Adaptee
{
public void SpecificRequest()
{
Console.WriteLine("Specific request from Adaptee.");
}
}
// 目标接口
interface ITarget
{
void Request();
}
// 适配器类
class Adapter : ITarget
{
private Adaptee _adaptee = new Adaptee();
public void Request()
{
_adaptee.SpecificRequest();
}
}
客户端调用实例:
代码语言:javascript复制internal class Program
{
static void Main(string[] args)
{
Adaptee adaptee = new Adaptee();
adaptee.SpecificRequest();
}
}
在实例中,通过将`Adaptee`类的`SpecificRequest`方法适配成了客户端所期望的`ITarget`接口的`Request`方法,使得`Adaptee`类可以被客户端使用。