zoukankan      html  css  js  c++  java
  • 乡下人设计模式——SOLID之六大原则

      S(Single Responsibility Principle):单一责任原则

      O(Open Closed Principle):开放封闭原则

      L(Liskov Substitution Principle):里氏替换原则

      L(Law of Demeter):迪米特法则

      I(Interface Segregation Principle):接口分离原则

      D(Dependence Inversion Principle):依赖倒置原则

    单一责任原则: 
    当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。 就是一个类只负责一个职责

    开放封闭原则 
    软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象,开闭原则中的对扩展开放,如果在项目中添加一个功能的时候,可以直接对代码进行扩展。如果要修改某一部分的功能时,我们应该做的是,尽量少做修改(完全不修改是不可能的),但是修改的时候,要保留原来的功能,只是在上面扩展出新的功能,就像版本更新一样,更新后,依然支持旧版本。

    里氏替换原则 
    当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系 

    迪米特原则 

    迪米特法则也叫最少知道原则(Least Knowledge Principle, LKP ),虽然名称不同,但都是同一个意思:一个对象应该对其他对象有最少的了解,比如:我们在写一个类的时候,应该尽可能的少暴露自己的接口。在写类的时候,能不 public 就不 public ,所有暴露的属性或是接口,都是不得不暴露的,这样的话,就能保证其他类对这个类有最少的了解了。

    依赖倒置原则
    1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象 
    2. 抽象不应该依赖于细节

    3. 细节应该依赖于抽象 

    我们要尽可能使用接口或抽象类。也就是“面向接口编程” 或者说 “面向抽象编程” ,也就是说程序中要尽可能使用抽象类或是接口,任何类都不应该从具体类中派生

    接口分离原则 
    不能强迫用户去依赖那些他们不使用的接口。使用多个专门的接口比使用单一的总接口总要好。客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。单一职责原则是按照 职责进行划分接口的,而接口隔离原则则是按照实现类对方法的使用来划分的

  • 相关阅读:
    Java单链表的实现方法汇总整理
    Java内存模型(JMM)图文并茂,条理清晰
    Java基础知识点整理(2021年最新版)
    Spring常见的77道面试题及答案(2021版)
    Python第二次学习知识点总结
    VUE学习十九,表单输入绑定v-model
    VUE学习十八,事件处理v-on
    VUE学习十七,列表渲染v-for
    VUE学习十五,Class与Style绑定
    VUE学习十四,侦听器
  • 原文地址:https://www.cnblogs.com/ingstyle/p/10593657.html
Copyright © 2011-2022 走看看