你不知道的,软件设计六原则

软件设计六大原则分别是:

  • 开闭原则
  • 依赖倒置原则
  • 单一职责原则
  • 接口隔离原则
  • 迪米特法则(最少知道原则)
  • 里氏替换原则
  • 3.1 开闭原则(Open Close Principle)

    定义:对扩展开放,对修改封闭。

    解析:意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。软件需求总是变化的,世界上没有一个软件是不变的,因此对软件设计人员来说,必须在不需要对原有系统进行修改的情况下,实现灵活的系统扩展。

    实现:用抽象构建框架,用实现扩展细节

    优点:提高软件系统的可复用性和可维护性。

    3.2 依赖倒置原则(Dependence Inversion Principle)

    定义:高层模块不应该依赖底层模块,二者都应该依赖其抽象

    解析:抽象不应该依赖细节;细节应该依赖抽象

    实现:针对接口编程,不要针对实现编程

    优点:可以减少类间的耦合性、提高系统稳定性,提高代码可读性和可维护性,可降低修改程序所造成的风险

    3.3 单一职责原则(Single Responsibility Principle)

    定义:不要存在于一个导致类变更的原因

    解析:一个类/接口/方法只负责一项职责

    优点:降低类的复杂度、提高类的可读性,提高系统的可维护性、降低变更引起的风险

    3.4 接口隔离原则(Interface Segregation Principle)

    定义:用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口

    解析:一个类对一个类的依赖应该建立在最小的接口上

    建立单一接口,不要建立庞大臃肿的接口

    尽量细化接口,接口中的方法尽量少

    注意适度原则,一定要适度

    优点:符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性

    3.5 迪米特法则(Law Of Demeter)

    定义:一个对象应该对其他对象保持最少的了解,又叫最少知道原则

    解析:尽量降低类与类之间的耦合

    优点:降低类之间的耦合

    3.6里氏替换原则

    定义:所有引用基类的地方必须能透明化地使用其子类的对象,即子类可以扩展父类的功能,但是不能改变父类原有的功能。也就是说,在子类继承父类的时候,除了添加新的方法完成新增功能之外,尽量不要重写父类的方法。

    解析:子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法

    子类中可以增加自己特有的方法

    当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更加宽松

    优点: 增强程序的健壮性,即使切换了子类,不会对使用代码造成影响。

    来源:紫气之巅

    声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年8月5日
    下一篇 2022年8月5日

    相关推荐