软件构造5.1

    技术2022-07-12  71

    软件构造5.1

    软件维护和演化维护指标模块化设计与模块化原则模块化编程 OO设计原则 SOLIDSRP 单一责任原则OCP 开放/封闭原则LSP liskov替换原则ISP接口隔离原则DIP依赖转职原则 OO设计原则 GRASP

    软件维护和演化

    修复错误,改善性能 软件的大部分成本来自于维护阶段 在设计开发阶段就要考虑将来的可维护性easy to change

    维护指标

    maintainability 可维护性 extensibility 可扩展性 flexibility 灵活性 adaptability 可适应性 manageability 可管理性 supportability 支持性

    模块化设计与模块化原则

    模块化编程

    高内聚,低耦合

    评价标准 可分解性可组合性可理解性可持续性 发生变化时受影响范围最小出现异常之后的保护 出现异常后受影响的范围最小 模块化设计规则 直接映射尽可能少的接口尽可能小的接口显示接口信息隐藏 松耦合和高内聚 耦合:测量模块之间的依赖程度 内聚:测量一个模块的功能之间得紧密性

    OO设计原则 SOLID

    SRP 单一责任原则

    不应该有多于一个原因让你的ADT发生变化,否则就拆分开 一个类,一个责任

    OCP 开放/封闭原则

    对扩展性的开放 模块的行为可扩展,从而该模块可表现出新的行为以满足需求的变化 对修改的封闭 模块自身的代码不应被修改扩展模块行为的一般途径是修改模块的内部实现一个模块不能被修改,那么它通常被认为具有固定的行为 关键的解决方案:抽象技术

    LSP liskov替换原则

    ISP接口隔离原则

    不能强迫客户端依赖于他们不需要的接口,只提供必须的接口

    DIP依赖转职原则

    抽象的模块不因依赖于具体的模块 具体应依赖于抽象 delegation时候,用interface建立联系

    OO设计原则 GRASP

    通用责任分配模式,关于如何为类和对象指派职责的一系列原则

    Processed: 0.013, SQL: 10