组件构建原则

组件

组件是软件的部署单元,是可以独立完成部署的最小实体

  • 独立部署
  • 独立开发

组件聚合

REP:复用/发布等同原则

组件中的模块和类之间应该有一个共同的主题或者大方向

CCP:共同闭包原则

应将那些会为了一个目的而同时修改的模块与类放到一个组件中

CRP:共同复用原则

将经常共同复用的模块与类放在同一组件中

  • 不依赖不需要用到的东西

组件耦合

ADP:无依赖环原则

组件不应该出现循环依赖

  • 每周构建

    • 将一周的前几天用来开发新代码,最后一天进行冲突解决
  • 消除循环依赖

    • 通过划分独立组件进行独立开发及发布

解决循环依赖

  • 依赖反转
  • 将相互依赖的模块提取到一个新模块

抖动 :随着项目的开发,组件结构会不断扩张变化

自上而下的设计

组件结构图更像是构建性与维护性方面的地图,组件结构图一个重要的目标是如何隔离频繁的组件变更

组件的依赖关系是随着项目的逻辑设计而演进的,无法一开始就设计出完美的组件结构图

SDP:稳定依赖原则

稳定性

与依赖于该模块的模块数量成正比

  • 越上层的组件越不稳定

抽象组件

  • 比如只存放接口的包

抽象组件通常非常稳定

SAP:稳定抽象原则

一个组件的抽象化程度应与其稳定性程度保持一致

抽象化衡量程度

抽象程度 = 抽象类和接口的数量 / 组件中类的数量

  • 痛苦区:非常稳定且非常具体
    • 如数据库表结构与工具类
  • 无用区
    • 无限抽象,无人使用

results matching " "

No results matching " "

results matching " "

No results matching " "