依赖倒置原则代码例子


依赖倒置原则的本质就是通过抽象(接口或抽象类)使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合。我们在项目中使用这个原则要遵循下面的规则:

    • 每个类尽量都有接口或者抽象类,或者抽象类和接口两都具备
    • 变量的表面类型尽量是接口或者抽象类
    • 任何类都不应该从具体类派生
    • 尽量不要覆写基类的方法 
      如果基类是一个抽象类,而这个方法已经实现了,子类尽量不要覆写。类间依赖的是抽象,覆写了抽象方法,对依赖的稳定性会有一定的影响。
    • 结合里氏替换原则使用 
      里氏替换原则:父类出现的地方子类就能出现。结合本章我们得出了一个通俗的规则:接口负责定义public属性和方法,并且声明与其他对象的依赖关系。抽象类负责公共构造部分的实现,实现类准确的实现业务逻辑,同时在适当的时候对父类进行细化。

 

using System;

namespace ConsoleApplication2
{
    class Program
    {
        public interface IReader
        {
            //阅读者
            void Read(IRead read);
        }

        public interface IRead
        {
            //被阅读物
            void Read();
        }

        //文学经典类
        public class LiteraryClassic : IRead
        {
            //阅读文学经典
            public void Read()
            {
                Console.WriteLine("阅读文学经典,滋润内心心灵!");
            }
        }

        //小说类
        public class Novel : IRead
        {
            //阅读小说
            public void Read()
            {
                Console.WriteLine("阅读小说,放松一下!");
            }
        }

        //小明类
        public class XiaoMing : IReader
        {
            //阅读
            public void Read(IRead read)
            {
                read.Read();
            }
        }

        static void Main(string[] args)
        {
            XiaoMing xiaoming = new XiaoMing();//实例化对象小明

            IRead literaryClassic = new LiteraryClassic();
            //小明阅读文学经典
            xiaoming.Read(literaryClassic);

            IRead novel = new Novel();
            //小明阅读小说
            xiaoming.Read(novel);
        }
    }
}

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM