小白如何理解软件架构设计原则Solid

876 阅读2分钟

欢迎来到肖哥弹架构,  今天跟大家“弹弹”微服务架构中Solid设计包含的原则

1、开闭原则(Open Closed Principle)

  • 对软件实体(类、模块、方法)扩展开放,对修改关闭(修改版本变更)

2、依赖倒置原则(Dependence Inversion Principle)

  • 依赖抽象或者契约层(使使用者依赖解耦),灵活应对变化。

3、单一职责原则(Single Responsibility Principle)

  • 某领域类只负责该领域下的操作与数据特征

4、里氏替换原则(Liskov Substitution Principle)

  • 每层设计必须保持稳定,来维护各自的行为权益

  • 子类实现父类抽象方法,单不能覆盖父类非抽象方法

  • 子类实现父类抽象方法,方法返回值(后置条件)要比父类更严谨(子类更具体)

  • 子类重载父类方法,方法参数(前置条件)必须必父类方法参数宽松

  • 子类可增加本层独有的方法

5、接口隔离原则(Interface Segregation Principle)

  • 类之间的依赖必须建立在最小(合理)的范围内

  • 方法论:

  • 将臃肿庞大接口进行单一职责化,提高系统的灵活性和可维护性

  • 多维度接口够体现对象设计的层次,可通过接口继承,实现对总接口的定义

  • 为依赖接口的类定制服务。只提供调用者需要的方法,屏蔽不需要的方法,满足高内聚,低耦合

  • 优势:

  • 接口隔离提高了系统的内聚性,减少了对外交互,降低了系统的耦合性

  • 减少代码冗余(未被使用),大范围的接口里通常设计了不必的方法,当实现这个接口的时候,被迫设计冗余的代码

6、迪米特法则(Law of Demeter)

  • 降低类(只暴露服务,不暴露细节)之间的耦合度,提高模块的相对独立性

  • 方法论:

  • 从依赖者的角度来说,只依赖应该依赖的对象

  • 从被依赖者的角度说,只暴露应该暴露的方法

  • 优势:

  • 降低类之间的耦合度,提高了模块的独立性

  • 由于亲合度降低,从而提高了类的可复用率和系统的扩展性

将六个原则首字母联合起来就是 SOLID (稳定的),含义为:构建稳定、灵活、健壮的软件架构设计。

今天就写到这里,后续使用微服务中的架构图给展示展示,看看设计理论原则如何跟落地接轨,希望大家坐稳,弹的会很快哦。