美文网首页
设计模式六大原则---依赖倒置原则(DIP)

设计模式六大原则---依赖倒置原则(DIP)

作者: 菠萝_gopher | 来源:发表于2019-11-12 22:34 被阅读0次

定义

依赖倒置原则(Dependency Inversion Principle)

核心思想:依赖于抽象

具体体现:

        体现一:高层模块不应该依赖低层模块。两个都应该依赖抽象。

        体现二:抽象不应该依赖细节。细节应该依赖抽象。

    依赖倒置原则告诉我们:细节是多变的,而抽象是相对稳定的。所以我们编程的时候要注重抽象的编程,而非细节编程。

实例

1、AGP插槽:主板和显卡之间的关系的抽象。主板和显卡通常是使用AGP插槽来连接的,这样,只要接口适配,不管是主板还是显卡更换,都不是问题。

      2、驾照:司机和汽车之间关系的抽象。有驾照的司机可以驾驶各种汽车。

      3、电源插座。

      下面我们用一个灯的开关的实例来展示:

       Switch(开关)、Light(灯),统一一个接口IDevices,让Switch和light都继承这个接口,而且这个接口有两个方法,即开/关,代码如下:

/// <summary>

    /// 设备

    /// </summary>

    public interface IDevices

    {

        void TurnOn();

        void TurnOff();

    }

    /// <summary>

    /// 电灯

    /// </summary>

    public class Light : IDevices

    {

        public void TurnOn()

        {

            Console.WriteLine("灯泡亮了");

        }

        public void TurnOff()

        {

            Console.WriteLine("灯泡黑了");

        }

    }

    /// <summary>

    /// 开关

    /// </summary>

    public class Switch:IDevices

    {

        IDevices devices;

        public Switch (IDevices devices)

        {

            this.devices =devices ;

        }

        public void TurnOn()

        {

            Console.WriteLine("打开开关");

            devices.TurnOn();

        }

        public void TurnOff()

        {

            Console.WriteLine("关上开关");

            devices.TurnOff();

        }

    }

class Program

    {

        //调用

        static void Main(string[] args)

        {

            IDevices _switch = new Switch(new Light());

            _switch.TurnOn();

            _switch.TurnOff();

            Console.Read();

        }

}

建议

1、抽象的稳定性决定了系统的稳定性,因为抽象是保持不变的,依赖于抽象是面向对象程序设计的精髓,也是依赖倒置的核心思想。

2、依赖于抽象是一个通用的规则,而某些依赖于细节在所难免的,必须权衡抽象和具体的取舍,方法不是一成不变的。

3、依赖于抽象就是要对接口编程,不要对实现编程。

相关文章

  • 什么是【依赖倒置】

    依赖倒置(Dependence Inversion Principle,简称 DIP),也是六大设计原则之一,意思...

  • 软件架构设计原则之依赖倒置原则

    1 依赖倒置原则 依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码...

  • 依赖倒置原则

    个人博客原文:依赖倒置原则 设计模式六大原则之三:依赖倒置原则。 简介 姓名 :依赖倒置原则 英文名 :Depen...

  • 设计原则之6大原则

    目录:设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置...

  • 2022-09-21 依赖倒置

    《设计模式之禅》之依赖倒置原则,Dependence Inversion Principle(DIP),核心就是面...

  • 依赖倒置原则

    依赖倒置原则 “依赖倒置原则(Dependence Inversion Principle,DIP)” 定义: 高...

  • 依赖倒置原则(DIP)

    依赖倒置原则定义 依赖倒置原则(Dependence Inversion Principle ,DIP)定义如下:...

  • 设计模式之代理模式(Proxy Pattern)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

  • 设计模式之建造者模式(Builder)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

  • 设计模式之单例模式(Singleton)

    设计模式中有六大原则和二十三设计模式。其中六大原则分别为:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口...

网友评论

      本文标题:设计模式六大原则---依赖倒置原则(DIP)

      本文链接:https://www.haomeiwen.com/subject/hwdcictx.html