设计模式Adapter模式的五分钟
2023-09-14 09:08:02 时间
五分钟一个设计模式。来形容叙述的设计模式的最简单方法。看到许多其他设计模式,请点击五分钟一个设计模式系列
http://blog.csdn.net/daguanjia11/article/category/3259443
认识适配器模式
适配器模式的定义是:将一个类的接口转换成client希望的另外一个接口。
适配器模式使得原本因为接口不兼容而不能一起工作的那些类能够一起工作。
适配器模式的主要功能是转换接口,目的是复用已有功能。而不是实现新接口,适用于功能实现了但接口不兼容的场合。
适配器组合了原有对象,而且提供与一个client兼容的接口,实际的工作由原有接口完毕。
演示样例代码
以下的演示样例代码中主要包括以下部分:
- Target:client须要的接口,与特定领域相关
- Adaptee:被适配对象
- Adapter:适配器
来上代码:
/// <summary>
/// client须要的接口,与特定领域相关
/// </summary>
public interface Target
{
/// <summary>
/// client请求处理的方法
/// </summary>
void Request();
}
/// <summary>
/// 被适配对象
/// </summary>
public class Adaptee
{
/// <summary>
/// 原有的已经实现了的方法,但接口发生了变化
/// </summary>
public void OldRequest()
{
Console.WriteLine("原来的方法运行了");
}
}
/// <summary>
/// 适配器
/// </summary>
public class Adapter : Target
{
/// <summary>
/// 组合被适配的对象
/// </summary>
private Adaptee adaptee;
public Adapter(Adaptee adaptee)
{
this.adaptee = adaptee;
}
public void Request()
{
this.adaptee.OldRequest();
}
}
以下看client怎样使用
class Program
{
static void Main(string[] args)
{
//创建被适配对象
Adaptee adaptee = new Adaptee();
//创建client须要调用的接口对象
Target target = new Adapter(adaptee);
//请求处理
target.Request();
}
}
程序运行结果:
原来的方法运行了
相关文章
- 设计模式(七)学习----命令模式
- 设计模式-原型模式
- 设计模式培训之一:为什么要用单例模式?
- 简介Python设计模式中的代理模式与模板方法模式编程
- 【设计模式】抽象工厂模式
- C++设计模式3-适配器模式Adapter-不兼容结构的接口协调
- C++设计模式12--建造者模式----创建复杂对象的工程师
- 《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式
- C#设计模式——适配器模式(Adapter Pattern)
- 不一样的适配器模式(设计模式三)
- Adapter 适配器模式(设计模式03)
- Adapter 适配器模式(设计模式03)
- mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】
- 设计模式的C语言应用-建造者模式-第七章
- Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)
- Python:设计模式之门面模式
- python 设计模式之观察者模式
- 设计模式学习总结(五)——观察者模式
- 设计模式之十三:适配器模式(Adapter)
- 设计模式之监听器模式
- 设计模式(四)简单工厂模式
- 虚拟地址空间以及编译模式
- JMeter基础 — 使用非GUI模式运行JMeter(命令行模式)
- 设计模式之builder模式
- 设计模式python版(5)-建造者模式
- 设计模式python版(3)-工厂方法模式
- ORBSLAM3 --- 地图融合(纯视觉模式下)LoopClosing::MergeLocal函数解析
- 我用过的设计模式(2)-- 单例模式
- 【设计模式】状态模式(C#)