zoukankan      html  css  js  c++  java
  • 设计原则—依赖倒转原则

    定义
    1:高层模块不应该依赖低层模块,两者都应该依赖其抽象;
    2:抽象不应该依赖细节;
    3:细节应该依赖抽象。

    更加精简的定义就是“面向接口编程”——OOD(Object-Oriented Design,面向对象设计)的精髓之一。

    为什么要倒转?
     原因:面向过程的开发时,为了使常用代码可以复用,一般都会把这些常用代码写成许多函数的程序库,这样我们在做新项目的时候,去调用这些底层的函数就可以了,比如,我们做的项目大多需要访问数据库,所以就把访问数据库的代码写成了函数,这也叫做高层模块依赖底层模块,但问题也就出在这里,我们要做新的项目,发现业务逻辑的高层模块都是一样的,但客户端希望使用不同的数据库或存储信息方式,这时就出现麻烦了,我们希望能够再次使用这些高层模块,但发现这些高层模块都是与底层的访问数据库绑定在一起的,没有办法复用这些高层模块,这样显然不合理,而如果不管高层模块还是底层模块都是依赖于抽象,具体一点就是接口或抽象类,只要接口是稳定的,那么任何一个的更改都不会影响到其它方面,这就使得无论是高层模块还是底层模块都可以很容易的被复用,这才是最好的办法。

  • 相关阅读:
    初始化webpack项目
    GCN 实现3 :代码解析
    GCN实现3
    GCN 简单numpy实现
    GCN python 实现2:利用GCN进行节点分类
    GCN
    Transformer —— attention is all you need
    多任务学习Multi-task-learning MTL
    两个概念:CCA和LDA
    Transfer learning
  • 原文地址:https://www.cnblogs.com/smallerpig/p/3646159.html
Copyright © 2011-2022 走看看