【C#设计模式(6)——适配器模式(Adapter Pattern)】

前言

C#设计模式(6)——适配器模式(Adapter Pattern)
适配器模式主要用于在不修改现有类的情况下,使本来不包含的类可以一起工作。

代码

//插头接口
public interface IPlug
{void Charge();
}
//插头适配
public class Adapter
{public void ConverterCharge(){Console.WriteLine($"{this.GetType().Name}:使用适配插头充电...");}
}//插头类适配
public class PlugClassAdapter : Adapter, IPlug
{public void Charge(){ConverterCharge();}
}//插头对象适配
public class PlugObjectAdpter : IPlug
{private Adapter _adapter;public PlugObjectAdpter(Adapter adapter){this._adapter = adapter;}public void Charge(){_adapter.ConverterCharge();}
}/** 适配器模式:(Adapter Pattern)*/internal class Program{static void Main(string[] args){IPlug plug = new PlugClassAdapter();plug.Charge();// 对象适配器Adapter adaptee = new Adapter();PlugObjectAdpter twoPlug = new PlugObjectAdpter(adaptee);twoPlug.Charge();Console.ReadLine();}}

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/16066.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

鸿蒙next ui安全区域适配(刘海屏、摄像头挖空等)

目录 相关api 团结引擎对于鸿蒙的适配已经做了安全区域的适配,也考虑到了刘海屏和摄像机挖孔的情况,在团结引擎内可以直接使用Screen.safeArea 相关api

【C++融会贯通】二叉树进阶

目录 一、内容说明 二、二叉搜索树 2.1 二叉搜索树概念 2.2 二叉搜索树操作 2.2.1 二叉搜索树的查找 2.2.2 二叉搜索树的插入 2.2.3 二叉搜索树的删除 2.3 二叉搜索树的实现 2.3.1 二叉搜索树的节点设置 2.3.2 二叉搜索树的查找函数 2.3.2.1 非递归实现 2.3.2.2 递…

JMeter初体验:从入门到入门的性能测试之旅

一、关于性能测试 1、性能测试概述 性能测试是一种非功能测试,旨在评估系统在不同负载条件下的性能表现。它包括负载测试、压力测试、稳定性测试和基准测试等。性能测试的目的是确保系统在预期的负载下能够正常运行,并满足用户对响应时间、吞吐量和其他…

计算机网络-数据链路层

一、数据链路层所使用的信道类型: 1、点对点信道->PPP协议 2、广播信道。->CSMA/CD协议 二、从层次上看数据的流动 三、数据链路和帧 链路:即物理链路,从一个结点到相邻节点的一段物理链路。 数据链路:逻辑链路&#x…

Web入门

Spring 官网:Spring | Home Spring是一个开源的Java企业级应用开发框架。Spring的主要目的是使Java EE(Java Platform, Enterprise Edition)开发更容易,并且通过提供一系列丰富的库和接口来促进良好编程实践,是…

人工智能下半场,全球期待AI超级应用

人工智能(AI)这个概念,从1955年的达特茅斯会议开始,已经走过了很长的路。从最初的统计语言模型,到专家系统、神经网络,再到深度学习,AI技术不断进步。2019年到2022年,预训练模型大量…

西圣、猛玛、科唛领夹麦克风哪个牌子好?领夹麦精品实测大PK

无线领夹麦克风,这个在音频领域逐渐崭露头角的设备,已经深入到我们生活中的许多场景。从线上会议的清晰收音,到自媒体创作者户外拍摄时的便捷声音采集,它的重要性不言而喻。可是,市场上无线领夹麦克风的乱象令人担忧。…

哈工大华为出品|大模型「幻觉」,看这一篇就够了

大模型“幻觉”,终于有系统综述了! 一口气49页,详细阐述了幻觉定义、分类、导致幻觉的原因,还有检测幻觉、减轻幻觉的方法。 这篇最新综述来自哈工大和华为,一po出就在网上火得不行: 具体来说&#xff0c…

STM32 BootLoader 刷新项目 (十) Flash擦除-命令0x56

STM32 BootLoader 刷新项目 (十) Flash擦除-命令0x56 1. STM32F407 BootLoader 中的 Flash 擦除功能详解 在嵌入式系统中,BootLoader 的设计是非常关键的部分,它负责引导主程序的启动、升级以及安全管理。而在 STM32F407 等 MCU 上实现 BootLoader&…

J.U.C - 深入解读重入锁和读写锁

文章目录 概述synchronized的缺陷1)synchronized不能控制阻塞,不能灵活控制锁的释放。2)在读多写少的场景中,效率低下。 独占锁ReentrantLock原理ReentrantLock概述AQS同步队列1. AQS实现原理2. 线程被唤醒时,AQS队列的…

异地双活容灾技术研究

摘要 随着技术快速发展,尤其是人工智能、大数据等新兴技术的应用,对数据安全提出了新的挑战,平台部署在机房云资源池,当云平台因人为错误原因出现基础设施故障,或自然灾害使得云平台的机房出现停电、断网等故障&#x…

从Facebook到Meta:公司转型背后的战略与意义

2021年,Facebook宣布更名为Meta,转型聚焦于“元宇宙”——这一虚拟世界的构建标志着公司从传统社交平台向更前沿的科技领域迈进。本文将探讨这一转型的背景、战略布局及其深远意义。 一、转型背景:应对市场和技术的挑战 自2004年成立以来&am…

前端在PC端实现支付思路流程

一.去支付 1.前端点击“去支付”按钮,请求订单详情接口,传递订单的id、订单号给后端和请求支付方式接口 2.后端返回支付信息和支付方式数据 二.弹出支付窗口 接收支付信息和支付方式数据后,前端弹出支付弹窗 三.确认支付 前端无论选择任何…

STM32 51单片机设计半导体制冷片温控设计

目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 1.电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 基于STM32与51单片机的半导体制冷片温控设计 前言 随着现代工业、医疗…

开源大模型技术路线及趋势

1. 三个维度 大模型研发力量 学术机构 大模型创业公司 科技大厂 旗舰开源模型的形态/模态 基础大模型 -> instruct大模型 -> 多模态(VL大模型 -> 类gpt-4o大模型) 时间线 23年上半年 23年下半年 24年 25年 2. 核心观察 学术机构及…

Vue学习笔记

Vue学习笔记 以下内容为黑马SpringbootVue3中的Vue3教程部分 Vue概述 什么是Vue? Vue 是一款用于构建用户界面的渐进式的JavaScript框架。(官方:https://cn.vuejs.org/) 快速入门 准备 准备html页面,并引入Vue模块(官…

Java 使用MyBatis-Plus数据操作关键字冲突报错You have an error in your SQL syntax问题

问题 这个报错是出现在Java Spring boot项目中,使用MyBatis-Plus通过创建的实体类对数据库的操作过程中,通过实体创建数据库表是没有问题的,而在接口调用服务类操作数据库的时候,会出现报错。报错详情如下: 服务请求异…

Chrome DevTools Protocol 进阶: Page域

前言 本章开始我们将进一步学习 Chrome DevTools Protocol(CDP),首先切入的内容是 CDP 中的域。 在 Chrome DevTools Protocol(CDP) 中,Page 域 是一个至关重要的部分,它负责控制浏览器页面的…

电动采光排烟大窗施工常见问题

电动采光排烟天窗施工常见问题可能涉及多个方面,包括施工前的准备、施工过程中的操作以及施工后的维护等。以下是对这些常见问题的归纳和分析。 一、施工前的准备问题 1、现场勘查不足,可能导致天窗尺寸、形状和材质不符合建筑设计要求; 2…

关于VUE NPM安装失败的问题

最近使用 npm install --registryhttps://registry.npmmirror.com 安装一个新项目的依赖,各种失败。 最后发现是package-lock里面有老的淘宝的域名,整体替换掉就行了