适配器模式
一、在调用一个已存在的,不易更改的对象时,如果需要将该对象的接口与自己的项目所需要的接口一致时,需要使用适配器模式。
View Code
/// <summary>
/// 输入对象通用接口
/// </summary>
public interface IWriter
{
void Write(string content);
}
View Code
/// <summary>
/// 实现了通用接口的普通输入对象
/// </summary>
public class Writer:IWriter
{
public void Write(string content) {
Console.WriteLine(content);
}
}
View Code
/// <summary>
/// 未实现通用输入接口的特殊输入对象
/// </summary>
public class CustomWriter
{
public void WriteLine(string content) {
Console.WriteLine(content);
}
}
View Code
/// <summary>
/// 适配器,将特殊输入对象的调用方法转化为通用的调用方法
/// </summary>
public class AdapterCustomWriter:IWriter
{
CustomWriter writer = new CustomWriter();
public void Write(string content)
{
writer.WriteLine(content);
}
}
View Code
/// <summary>
/// 客户端调用
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
IWriter writer = new Writer();
writer.Write("writer");
writer = new AdapterCustomWriter();
writer.Write("customwriter");
Console.ReadKey();
}