• 经典设计原则 - SOLID


    SOLID 设计原则包含以下 5 种原则:

    • 单一职责原则(Single Responsibility Principle, SRP)
    • 开闭原则(Open Closed Principle, OCP)
    • 里式替换原则(Liskov Substitution Principle, LSP)
    • 接口隔离原则(Interface Segregation Principle, ISP)
    • 依赖反转原则(Dependency Inversion Principle, DIP)

    单一职责原则

    理解

    单一职责原则的描述是,一个类或者模块只负责完成一个职责(或功能)。当然,单一职责原则不止是可以针对于模块或类,对于很多粒度都有效果,如函数、类、接口、模块等等,模块通常由多个类组成。

    职责可以指模块变化的原因,从这个角度理解,单一职责原则表示不要存在超过一个导致模块变更的原因。

    需要注意的是,不同的应用场景、不同阶段的需求背景、不同的业务层面,对同一个类的职责是否单一,可能会有不同的判定结果。

    优点

    遵循单一职责原则,将会有以下的优点:

    • 提高代码的可维护性:职责越少,复杂度越低,可读性更好,可维护性就更高
    • 降低代码变更的风险:职责越多,代码变更的可能性就越高,变更带来的风险也就越大
    最佳实践

    在实际开发中,出现以下现象有可能违反了单一职责原则:

    • 模块的变量、属性或代码行数过多
    • 模块的内部对外部依赖过多
    • 模块的私有方法过多
    • 难以给模块取一个合理的名称
    • 模块的大部分操作只针对几个属性

    如出现上述情况,则需要判断是否对代码做职责分离,以遵循单一职责原则,最终应以提高内聚、降低耦合、保证代码的可维护性为主。

    开闭原则

    理解

    开闭原则的描述是,软件实体(模块、类、方法等)应该“对扩展开放、对修改关

  • 相关阅读:
    冥想第九百五十八天
    动物实验文献检索——Sci
    Java集合框架(一)-ArrayList
    C# 委托和事件
    eigen C++报错 EIGEN_STATIC_ASSERT
    力扣Hot100-994腐烂的橘子
    关于unaipp生成的vue3项目开启微信云函数所遇到的问题
    Spring循环依赖解决
    CSS选择器简述
    java计算机毕业设计健身房信息管理系统源码+mysql数据库+系统+lw文档+部署
  • 原文地址:https://blog.csdn.net/band_mmbx/article/details/126406379