依赖倒置原则 是程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。面向接口编程

以歌手 能唱多种 语言的歌曲 作为 例子:

1.1创建歌曲 抽象 类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 依赖倒置.interfaceClass
{public interface InterfaceSong{string Song();}
}

1.2中文歌曲 实现 歌曲抽象类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 依赖倒置.interfaceClass;namespace 依赖倒置.CommonClass
{public class ChinaSongClass : InterfaceSong{public string Song(){return "中国歌曲";}}
}

1.3英文歌曲 实现 歌曲抽象类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 依赖倒置.interfaceClass;namespace 依赖倒置.CommonClass
{public class EnglishSongClass : InterfaceSong{public string Song(){return "英文歌曲";}}
}

2 建立歌手类。 依赖倒置 核心就是 为了实现 public void Sing(InterfaceSong interfaceSong) 接口,而不是 去实现具体实现业务。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using 依赖倒置.interfaceClass;namespace 依赖倒置
{public class SingerClass{public void Sing(InterfaceSong interfaceSong){Console.WriteLine("xx知名歌手在唱"+interfaceSong.Song());}}
}

3.代码实现

using 依赖倒置.CommonClass;namespace 依赖倒置
{internal class Program{static void Main(string[] args){SingerClass singerClass = new SingerClass();singerClass.Sing(new ChinaSongClass());Console.ReadKey();}}
}

C# 设计原则 之 依赖倒置 原则相关推荐

  1. 7.12 其他面向对象设计原则3: 依赖倒置原则DIP

    其他面向对象设计原则3: 依赖倒置原则DIP  The Dependency Inversion Principle 7.1 依赖倒置原则DIP The Dependency Inversion P ...

  2. 设计原则 单一职责原则、开放封闭原则、依赖倒置原则、里氏代换原则、迪米特法则

    目录 1 单一职责原则 2 开放封闭原则 3 依赖倒置原则 4 里氏代换原则 5 迪米特法则 1 单一职责原则 比如:电脑内存坏了就应该更换内存,不应该更换CPU (内存负责内存.CPU负责CPU) ...

  3. 软件设计原则之里氏替换原则、依赖倒置原则

    系列文章目录 软件设计原则之单一职责原则.开闭原则 软件设计原则之里氏替换原则.依赖倒置原则 软件设计原则之接口隔离原则.合成复用原则.迪米特原则 文章目录 系列文章目录 一.里氏替换原则 什么是里氏 ...

  4. 面向对象设计原则-03依赖倒置原则

    面向对象设计原则-03依赖倒置原则 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,DIP)是 Object Mentor 公司总裁罗伯特·马丁(Rob ...

  5. 设计模式六大原则之里氏替换原则、依赖倒置原则详解

    设计模式六大原则--里氏替换原则.依赖倒置原则详解 1.里氏代换原则(Liskov Substitution Principle) 概念 顾名思义,该原则用于经常发生替换的地方,在Java中指的是实现 ...

  6. 3.六大原则例子-- 依赖倒置原则(DIP)例子

    设计模式六大原则例子-- 依赖倒置原则(DIP)例子 之前我们对设计模式的六大原则做了简单归纳,这篇博客是对依赖倒置原则进行的举例说明. 依赖倒置原则的意义 DIP是6大原则中最难以实现的原则,它是实 ...

  7. 六大设计原则之依赖倒置原则07

    目录 1.概述 2.业务场景 3.运用设计原则前代码实现 3.1.代码实现 3.2.总结 4.运用设计原则后代码实现 4.1.代码实现 4.2.总结 1.概述 依赖倒置原则(Dependence In ...

  8. 面向对象七大设计原则之依赖倒置原则

    熟练掌握和应用面向对象设计七大原则,是初中级工程师向高级/资深工程师进阶的一个必备技能.他可以大大的提升程序的可复用性和可维护性是重构代码的一大利器. 本人菜鸟一枚本面文章的出发点是1.加深个人印象. ...

  9. 【软件架构设计原则】开闭原则和依赖倒置原则

    文章目录 软件架构设计原则 开闭原则 依赖倒置原则 最后 软件架构设计原则 本文通过实例来讲解 开闭原则 依赖导致原则 开闭原则 开闭原则(Open-Close Principle,OCP)是指一个软 ...

  10. 6大设计原则之依赖倒置原则

    依赖倒置原则: 包含三层含义: 高层模块不应该依赖低层模块,二者应该依赖抽象 抽象不应该依赖细节 细节应该依赖抽象 再精简些就是:其核心是面向接口编程 抽象:即抽象类和接口,抽象是对实现的约束,对依赖 ...

最新文章

  1. Linux进程的Uninterruptible sleep(D)状态
  2. 监听端口的非阻塞性不具有继承性
  3. 陕西“高山农业”-农业大健康·太白县:谋定小而美小而精
  4. Ubuntu18.04深度学习环境配置(简易方式)
  5. Scala教程之:面向对象的scala
  6. 使用 apifm-wxapi 快速开发小程序
  7. mariadb设置root初始密码
  8. python合并视频和音频_真没想到,Python 还能实现 5 毛特效
  9. 代码实现——MapReduce实现Hadoop序列化
  10. 写代码三年,月薪不到一万,是不是很失败?
  11. GnuTLS传输层安全性库
  12. python与excel-超简单:用Python让Excel飞起来
  13. 专访OneAPM创始人何晓阳:APM将是开发者必备服务
  14. 分享11个web前端开发实战项目案例+源码
  15. Mimics-基础操作教程-1
  16. Origin如何写入希腊字母
  17. NetBeans IDE使用方法
  18. 360与腾讯弹窗大战 数亿网民被迫围观
  19. Deprecated注解
  20. 来TDengine 开发者大会,探索数据架构的迭代升级

热门文章

  1. MYSQL数据库提权的几种方法——提权教程
  2. 分享 | 闲鱼靠什么支撑起万亿的交易规模?
  3. 基于单片机的计步器设计-DS1302-心率测量(毕业设计资料)
  4. ewomail开源版邮箱服务器 批量添加邮箱实现邮箱批量接收验证码
  5. OpenGL教程 用2D图形介绍OpenGL
  6. oracle12c 隐藏列的值
  7. 第一章 MBSE概览
  8. session共享问题
  9. 抹去 CSDN 中图片水印的方法
  10. java math3工具包向量计算