当前位置: 首页 > article >正文

C# 适配器模式

适配器模式是一种结构型设计模式,它可以将一个或多个不兼容的接口适配成客户端期望的接口。在 C# 中,适配器模式通常采用类适配器或对象适配器的方式实现。

下面是一个简单的类适配器示例:

首先,定义一个客户端期望的目标接口,例如 ICircle:

public interface ICircle
{
    void Draw(int x, int y, int radius);
}

然后,定义一个已有的 Adaptee 类,它具有不兼容的接口:

public class LegacyCircle
{
    public void DrawCircle(int x, int y, int radius)
    {
        Console.WriteLine($"LegacyCircle: x={x}, y={y}, radius={radius}");
    }
}

接着,定义一个适配器类 Adapter,它继承于 Adaptee 类,并同时实现了目标接口 ICircle:

public class CircleAdapter : LegacyCircle, ICircle
{
    public void Draw(int x, int y, int radius)
    {
        DrawCircle(x, y, radius);
    }
}

最后,在客户端中使用适配器来实现目标接口:

public class Program
{
    public static void Main(string[] args)
    {
        ICircle circle = new CircleAdapter();
        circle.Draw(10, 10, 20);
    }
}

在这个示例中,适配器 CircleAdapter 继承了 Adaptee 类,同时实现了目标接口 ICircle。这样一来,客户端就可以使用目标接口 ICircle 来调用适配器的方法 Draw(),适配器再调用 Adaptee 类的方法 DrawCircle() 来实现绘制圆形的功能。适配器模式将已有的类和接口适配到了客户端所期望的接口,并实现了代码的重用和扩展。


http://www.kler.cn/a/152578.html

相关文章:

  • 分享89个清新唯美PPT,总有一款适合您
  • 【产品经理】AI在SaaS产品中的应用及挑战
  • 智慧城市政务一网统管解决方案:PPT全文34页,附下载
  • 240. 搜索二维矩阵 II -- 力扣 --JAVA
  • [DASCTF 2023 0X401七月暑期挑战赛] web刷题记录
  • HarmonyOS脚手架:UI组件之文本和图片
  • JavaWeb服务器详解和后端分层解耦
  • 完美的输出打印 SQL 及执行时长[MyBatis-Plus系列]
  • java成神秘籍第一卷
  • RSA实现中弱密钥漏洞分析(Analyzing Weak Key Vulnerabilities in RSA Implementation)
  • Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
  • (详细教程)笔记本电脑安装Ubuntu系统
  • 浅谈UML的概念和模型之UML九种图
  • 西南科技大学数字电子技术实验一(数字信号基本参数与逻辑门电路功能测试及FPGA 实现 )预习报告
  • Everything结合内网穿透搭建在线资料库并实现随时随地远程访问
  • 极兔快递查询入口,筛选出指定派件员的单号
  • 传教士与野人过河问题
  • 代码级接口测试与单元测试的区别
  • PLC控制-电源方案应用
  • Unity中Shader编译目标渲染器