zoukankan      html  css  js  c++  java
  • 【转帖】面向对象设计的原则

    S.O.L.I.D是面向对象设计和编程(OOD&OOP)中几个重要编码原则(Programming Priciple)的首字母缩写。

    SRP The Single Responsibility Principle
    单一责任原则
    OCP The Open Closed Principle
    开放封闭原则
    LSP The Liskov Substitution Principle 里氏替换原则
    DIP The Dependency Inversion Principle 依赖倒置原则
    ISP The Interface Segregation Principle 接口分离原则


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


    开放封闭原则
    软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象、最难理解的一个。

    OpenClosedPrinciple2_2C596E17 

    里氏替换原则
    当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系
    LiskovSubtitutionPrinciple_52BB5162 
    依赖倒置原则
    1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象
    2. 抽象不应该依赖于细节,细节应该依赖于抽象
    DependencyInversionPrinciple_0278F9E2


    接口分离原则
    不能强迫用户去依赖那些他们不使用的接口。换句话说,使用多个专门的接口比使用单一的总接口总要好。

    InterfaceSegregationPrinciple_60216468

    这几条原则是非常基础而且重要的面向对象设计原则。正是由于这些原则的基础性,理解、融汇贯通这些原则需要不少的经验和知识的积累。上述的图片很好的注释了这几条原则。


    SOLID原则外还有很多其它的面向对象原则。如:

    "组合替代继承":这是说相对于继承,要更倾向于使用组合;

    "笛米特法则":这是说"你的类对其它类知道的越少越好";

    "共同封闭原则":这是说"相关类应该打包在一起";

    "稳定抽象原则":这是说"类越稳定,越应该由抽象类组成";
     

  • 相关阅读:
    HTTP 常用 Header
    三大框架面试笔记-Hibernate
    三大框架面试笔记-Spring
    Bloom Filter概念和原理
    笔记:编写高质量代码 改善Java程序的151个建议
    笔记:Effective Java
    HTTP状态码
    JAVA8 十大新特性详解
    java7 新特性
    笔记:Hadoop权威指南 第10章 管理Hadoop
  • 原文地址:https://www.cnblogs.com/goed/p/2251273.html
Copyright © 2011-2022 走看看