美文网首页软件设计模式专题
设计模式的六大原则

设计模式的六大原则

作者: ProZoom | 来源:发表于2017-09-07 20:06 被阅读4次

    Author:ProZoom

    Hobby:爱折腾、爱思考,想静静的ProZoom

    Github --- 简书 --- CSDN --- 关于我


    六大基本原则

    1. 单一职责原则

    全称:Single Responsibility Principle

    缩写:SRP

    定义:一个类应该有且只有一个变化的原因(There should never be more than one reason for a class to change.)

    定义解读:《UNIX编程艺术》中提到的一句话和这篇文章很贴切:Do one thing,and do it well。通俗的说,即一个类只负责一项职责

    2. 开闭原则

    全称:Open Close Principle

    缩写:OCP

    定义:一个软件实体(如类、模块、函数)应当对扩展开放,对修改关闭。

    定义解读:

    3. 里氏替换原则

    全称:Liskov Substitution principle

    缩写:LSP

    定义:任何一个基类可以出现地方,子类一定可以出现,并且不会产生任何错误(注意:必须是父子关系)

    定义解读:第一个注意:里氏替换原则核心就是抽象(继承和接口)每一个子类都会拥有父类的方法属性

    第二个注意:开闭原则和里氏替换原则生死相依,通过里氏替换原则达到了对外开放,对修改关闭

    里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:

    • 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
    • 子类中可以增加自己特有的方法。
    • 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
    • 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

    4. 依赖导致原则

    全称:Dependence Inversion Principle

    缩写:DIP

    定义:高层次模块不依赖于低层次模块实现细节

    定义解读:说白了,依赖于抽象,不依赖具体实现指导子类实现功能细节,依赖倒置原则的核心就是要我们面向接口编程,理解了面向接口编程,也就理解了依赖倒置。

    5. 接口隔离原则

    全称:Interface Segregation Principle

    缩写:ISP

    定义:类与类之间的依赖关系应该是建立在最小的接口上

    6. 迪米特原则--最少知识原则

    全称:Least Knowledge Principle

    缩写:LKP

    定义:一个对象应该对其他的对象有最少的了解

    设计原则总结

    六大基本原则都是基于抽象(抽象类和接口)

    相关文章

      网友评论

        本文标题:设计模式的六大原则

        本文链接:https://www.haomeiwen.com/subject/adhwjxtx.html