最新要闻
- 难怪发质没有变好!这么多年用吹风机竟用错了
- 每日快看:PC 10年来最大跌幅 2023依然寒气逼人:复活要靠Win10“死亡”
- 全球通讯!优化渣?《霍格沃兹之遗》3A游戏被指太吃硬件:8GB显存都不好意思打招呼
- 坐拥千万粉丝医生称女子因洁牙感染梅毒?口腔机构回应 权威科普来了
- 世界今热点:告别OLED!苹果2025年商用microLED:克服烧屏问题
- 【世界时快讯】一加杀入平板领域!一加Pad发布:天玑9000加持
- 观点:女子存款5万需提供个人收入证明引热议:回应来了
- 一文了解WiFi 7优势:网速快不是最大看点
- 全球聚焦:男子网恋5年转给对方1700万被骗 还是已婚男人:网友崩溃
- 世界快讯:“ChatGPT中文版”上线:遭国内网友爆破
- 三十年了 钠离子电池总算熬出头!取代铅酸、把锂价打下去
- 环球热门:女子取药时发现医生用手机追剧引争议 医院回应:核实后会处罚
- 看完狗头萝莉、胡鑫宇的遭遇 我想聊聊自杀这件事
- 当前头条:亚洲第一!中国火箭发动机试车台传喜讯
- 【全球独家】18寸终极发烧游戏本!ROG枪神7 Plus超竞版评测:首发i9-13980HX多核暴涨40%
- 杭州法华寺月薪8万招聘和尚?传授72绝技?假的
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
必知必会的设计原则——依赖倒置原则
(资料图)
概述
开放封闭原则是面向对象的设计的中级目标,而依赖倒置原则是实现开放封闭原则的基础。如果开放封闭原则是设计大楼的蓝田,那么依赖倒置原则就是大楼的钢铁架构。
高层模块(调用者)不应该依赖于低层模块(被调用者),两个都应该依赖于抽象。依赖倒置原则的本质是通过接口或抽象使各个模块的实现独立,彼此互补影响,从而实现模块间的松耦合。
未使用依赖倒置原则的代码
////// 重复代码很多, Singer作为高层模块,严重依赖底层模块 不符合依赖倒置原则,开放封闭原则 -单一职责原则 /// public class Singer { public void SingSong(ChineseSong chineseSong) { Console.WriteLine($"歌手正在唱{chineseSong.GetSongWords()}"); } public void SingSongEnglish(EnglishSong englishSong) { Console.WriteLine($"歌手正在唱{englishSong.GetSongWords()}"); } } public class ChineseSong { public string GetSongWords() { return "中国歌曲"; } } public class EnglishSong { public string GetSongWords() { return "外国歌曲"; } }
//C#控制台调用Singer singer = new Singer();singer.SingSong(new ChineseSong());singer.SingSongEnglish(new EnglishSong());
结论:重复代码很多, Singer作为高层模块,严重依赖底层模块 不符合依赖倒置原则,开放封闭原则 -单一职责原则。
面向接口编程的代码
public interface ISongWords { public string GetSongWords(); } public class ChineseSong2: ISongWords { public string GetSongWords() { return "中国歌曲"; } } public class EnglishSong2 : ISongWords { public string GetSongWords() { return "外国歌曲"; } } public class Singer2 { public void SingSong(ISongWords songWords) { Console.WriteLine($"歌手正在唱{songWords.GetSongWords()}"); } }
//C#控制台调用Singer2 singer2 = new Singer2();ISongWords songWords = new ChineseSong2();singer2.SingSong(songWords);
依赖倒置原则的代码
抽象不应该依赖细节 细节应该依赖抽象。
public interface ICar { void Run(); } public class Benz : ICar { public void Run() { Console.WriteLine("奔驰汽车在本跑"); } } public class AoDi : ICar { public void Run() { Console.WriteLine("奥迪汽车在本跑"); } } public interface IDriver { //在接口或类中 将要注入的服务对象,以参数的形式直接注入,我们称之为接口注入; void Drive(ICar car); void Drive(); void SetCar(ICar car); } public class Student : IDriver { private ICar _car; ////// 接口注入 /// /// public void Drive(ICar car) { car.Run(); } public void Drive() { _car.Run(); } ////// 属性注入 /// /// public void SetCar(ICar car) { _car=car; } } public class Teacher : IDriver { private readonly ICar _car; ////// 构造函数注入 /// /// public Teacher(ICar car) { _car = car; } public void Drive(ICar car) { throw new NotImplementedException(); } public void SetCar(ICar car) { throw new NotImplementedException(); } public void Drive() { _car.Run(); } }
//C#控制台调用IDriver driver = new Student();ICar car = new Benz();driver.Drive(car);driver.SetCar(car);driver.Drive();IDriver driver1 = new Teacher(car);driver1.Drive(car);
总结
以上就是关于依赖倒置原则的内容,有何疑问,欢迎与我沟通交流。
必知必会的设计原则——依赖倒置原则
难怪发质没有变好!这么多年用吹风机竟用错了
每日快看:PC 10年来最大跌幅 2023依然寒气逼人:复活要靠Win10“死亡”
全球通讯!优化渣?《霍格沃兹之遗》3A游戏被指太吃硬件:8GB显存都不好意思打招呼
坐拥千万粉丝医生称女子因洁牙感染梅毒?口腔机构回应 权威科普来了
读Java实战(第二版)笔记04_用流收集数据
世界今热点:告别OLED!苹果2025年商用microLED:克服烧屏问题
【世界时快讯】一加杀入平板领域!一加Pad发布:天玑9000加持
观点:女子存款5万需提供个人收入证明引热议:回应来了
一文了解WiFi 7优势:网速快不是最大看点
全球聚焦:男子网恋5年转给对方1700万被骗 还是已婚男人:网友崩溃
全球信息:Go学习资料
阿里云产品-智能语音交互快速测评
世界快讯:“ChatGPT中文版”上线:遭国内网友爆破
三十年了 钠离子电池总算熬出头!取代铅酸、把锂价打下去
环球热门:女子取药时发现医生用手机追剧引争议 医院回应:核实后会处罚
看完狗头萝莉、胡鑫宇的遭遇 我想聊聊自杀这件事
当前头条:亚洲第一!中国火箭发动机试车台传喜讯
【全球报资讯】【LeetCode哈希表#4】梦开始的地方:两数之和(map),以及关于容器map的一些代码技巧
【全球独家】18寸终极发烧游戏本!ROG枪神7 Plus超竞版评测:首发i9-13980HX多核暴涨40%
杭州法华寺月薪8万招聘和尚?传授72绝技?假的
铁锅“”开锅“”有科学依据吗?为什么厂家不帮忙弄好?
《分布式技术原理与算法解析》学习笔记Day04
【独家】ASP.NET Core+Element+SQL Server开发校园图书管理系统(四)
快消息!E. Monsters (hard version)
日本国产大飞机研发失败:研发耗时十余年
当前视讯!大批《LOL》玩家逃离国服挤爆台服 拳头调查处理中
Blazor封装一个显示Markdown的组件
高层次综合器Vivado HLS的概念与特点[原创www.cnblogs.com/helesheng]
头条:为何突然爆红网络?小胖俞涛回应“九转大肠梗” 吃起来确实酸爽
【环球报资讯】天马认领:独家供应一加Ace 2 1.5K灵犀触控屏
世界报道:HashMap源码分析 (基于JDK1.8)
cmd的一些命令
焦点速看:Python教程:高级特性
天天快看点丨vue3 | slots
通讯!0糖0脂0卡 三种口味 哪吒气泡水1.66元/瓶史底
世界今亮点!逆天!男子称在国美买家电两年没到货 花费超两万
全球热消息:影驰首次涉足游戏显示器:27寸2K屏、165Hz高刷
奔驰史诗级调整:19款车将停产!不挣钱的不要
世界热门:宁德时代两大杀手级新品电池正式来了:新能源汽车市场要变天?
VGA、TFT显示模块——verilog实现
天天看热讯:智能运维|AIRIOT智慧光伏管理解决方案
定时任务
14.9mm纤薄机身惊艳:联想小新Air 14 2023烟霞紫亮相
观热点:1099元起 真我推出V30/V30t新机:天玑700入门U
环球热点评!3月1日上线全国外卖服务?抖音回应:无具体时间表
《GTA5》母公司T2 CEO:ChatGPT等AI将提高游戏行业的标准
记录--实时音视频功能简析(live-pusher与live-player)
当前资讯!全景剖析阿里云容器网络数据链路(三):Terway ENIIP
全球看点:Amazon RDS 教程_编程入门自学教程_菜鸟教程-免费教程分享
整合MQTT
当前简讯:京东一面:MySQL 中的 distinct 和 group by 哪个效率更高?问倒一大遍。。
业界功率最高!一加27W冰点散热背夹发布 219元
蔚来:自家充电桩仅24%时间给蔚来充电 比亚迪、特斯拉用爽了
世界微资讯!ChatGPT幕后创始人拿微软100亿 是在下一步大棋
【热闻】你出国耍吗?多条国际航班机票降至千元 泰国往返国内不到2000元
焦点观察:日产扛把子!新款轩逸/轩逸e-POWER官图发布:能救市吗?
3.SpringSecurity+登录功能+jwt校验过滤器+redis配置
当前消息!K8S的基础概念
今亮点!elementui中el-table表头动态筛选条件未及时更新问题解决
世界新消息丨C#高级编程2
RocketMQ Streams拓扑构建与数据处理过程
全球动态:一加Ace 2全球首发1.5K灵犀触控屏:120Hz刷新率、1450nit高亮度
每日消息!知名玩家爆料魔兽国服已签新代理:暴雪相中上海一公司
全球热点!土耳其再发生5.2级地震:中国卫星传回土耳其地震震中图像
全麦+黑麦:舌里0脂肪全麦面包14.9元2斤40片大促
国产版ChatGPT!百度版已成功注册ERNIE商标:最快3月开放
强大的word插件:不坑盒子下载安装使用图文讲解
ChatGPT横空出世,虽然会改BUG,但程序员也不用慌
天天简讯:强大的word插件,让工作更高效:不坑盒子 2023版
pandas 用户数据分析2
车顶维权女车主:重启战斗模式 希望今年能明确特斯拉案件结果
小米首款二合一笔记本!小米笔记本12.4图赏
每日速看!陪伴十年被撞报废!男子躲过一劫磕头跪别爱车 网友:它值得
环球视点!一加Ace 2普及16GB超大内存:44个应用保活
世界观点:首批入手三星Galaxy S23用户开机后大跌眼镜:系统吃掉60GB存储空间
【天天速看料】【算法训练营day41】LeetCode343. 整数拆分 LeetCode96. 不同的二叉搜索树
今日观点!亚马逊商城入门教程_编程入门自学教程_菜鸟教程-免费教程分享
天天快资讯:计算机视觉——SSD和YOLO简介
焦点热议:CTF之WEB学习路线规划
当前焦点!第一个编译器
上海网红“安福路小公主”接代言引热议:网友感叹辣眼睛的大妈无敌了
全球播报:13代CPU+40系GPU 笔记本和台式机区别有多大?
微头条丨100%纯棉 班尼路短袖99元4件包邮:13色可选
今日热文:ChatGPT概念全球爆火!我国人工智能相关企业超百万家
没法出二手“回血”了!索尼称PS VR2初期将仅推出数字版游戏
视讯!火山引擎ByteHouse助力中国地震台网中心,快速构建一站式实时数仓
实战分享 | 金融数据采集报送平台实践
观天下!我是如何用CAP和BASE两个基础理论卷死其他组员的?
环球信息:【踩坑记录】@Transactional注解回滚不生效问题
世界微资讯!开心档-软件开发入门之MongoDB 覆盖索引查询
世界动态:89%美国大学生用写作业!揭秘爆红ChatGPT之父:应对核末日狂囤黄金、中学就出柜
当前快报:2023年首次更新!微信Mac版3.7.0发布:终于支持图片文字提取
世界观察:Github、Gitee优秀的开源项目
【ChatGPT 注册】
【天天聚看点】ChatGPT让苹果急了!消息称苹果将于下周召开内部AI峰会
环球快资讯丨299元!小米对讲机2S发布:市区5公里通话 100个对讲频道
热议:4个小号给大号浇水 缴电费再退骗蚂蚁森林能量被封号!法院判了
人工智能立大功!AI筛查阿尔茨海默病准确率达75%
每日视点!19999元!尼康发布尼克尔Z 85mm f/1.2 S镜头:模特发丝根根可数