十九.适配器模式
适配器模式:
Adapter:将一个类的接口装换成客户希望的另外一个接口。
使得原本由于接口不兼容而不能工作的类可以一起工作。
.Net中DataAdapter就是作用于DataSet和数据源之间的适配器。
多是用在后期维护,修改时,复用类似的类,方法或控件时使用。
Demo:
classProgram
{
static void Main(string[] args)
{
Player p = new Translator("zhou");
p.Attack();
p.Defense();
Console.ReadKey();
}
}
abstract class Player//抽象篮球队员
{
protected string name;
public Player(string name)
{
this.name = name;
}
public abstract void Attack();
public abstract void Defense();
}
class Translator:Player//此翻译者就是适配器
{
private ForeignCenter f = new ForeignCenter();
public Translator(string name)
: base(name)
{
f.Name = name;
}
public override void Attack()
{
f.进攻();
}
public override void Defense()
{
f.防守();
}
}
class ForeignCenter//第三方控件或过时的类
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public void 进攻()
{
Console.WriteLine("外籍中锋{0}进攻",name);
}
public void 防守()
{
Console.WriteLine("外籍中锋{0}防守",name);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库