加载中...

依赖倒置原则

依赖倒置原则(Dependence Inversion Principle,DIP)是指设计代码结构时,高层模块不应该依赖底层模块,二者都应该依赖其抽象
减少类与类之间的耦合性,提高代码的可读性和可维护性,并能够降低修改程序所造成的风险,这样说起来可能有点抽象,接下来以例子说明

点击查看代码
public class sizimie {
        public void studyJavaCourse(){
            System.out.println("铃芽在学习 Java 的课程");
        }
        public void studyPythonCourse(){
            System.out.println("铃芽在学习 Python 的课程");
        }
    }

    public static void main(String[] args) {
        sizimie sizimie1 = new sizimie();
        sizimie1.studyJavaCourse();
        sizimie1.studyPythonCourse();
    }
sizemie类可以看做是底层实现,main是高层调用,如果这二者不依赖于抽象,则有新业务的时候,底层到高层的代码全部都要改一遍,相当恶心了,正确做法应该是抽象出接口,例如
点击查看代码
public interface ICourse {
        void study();
    }
    
    public class JavaCourse implements ICourse {
        @Override
        public void study() {
            System.out.println("zz 在学习 Java 课程");
        }
    }
   
    public class PythonCourse implements ICourse {
        @Override
        public void study() {
            System.out.println("zz 在学习 Python 课程");
        }

再修改底层实现
public class sizimie  {
        public void study(ICourse course){
            course.study();
        }
    }
修改调用类
public static void main(String[] args) {
        Sizemie sizemie1 = new Sizemie();
        sizemie1.study(new JavaCourse());
        sizemie1.study(new PythonCourse());
    }
这样子之后,无论后续有什么新课,都只需要实现接口,传递实现类就好了,避免了底层的改动
posted @ 2023-05-10 15:13  铃芽之旅  阅读(32)  评论(0)    收藏  举报