0%

模块设计

模块设计

  • 保持规模的大小适中
  • 尽可能减少调用的深度
  • 扇入和扇出数量要适中
  • 单入口,单出口
  • 模块的作用域应该在模块内,作用域小于控制域
  • 功能应该是可预测的

高内聚低耦合

聚合类型

  • 功能内聚 模块内的所有元素共同作用完成单一功能,各个部分协同工作,缺一不可
  • 顺序内聚 处理元素相关,而且必须顺序执行
  • 通信内聚 一个模块的所有成分都操作同一数据集或生成同一数据集
  • 过程内聚 一个模块完成多个任务,这些任务按指定的次序执行
  • 顺时内聚(时间内聚) 所包含的任务必须在同一时间间隔内执行
  • 逻辑内聚 模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能逻辑
  • 偶然内聚 一个模块内的各处理元素之间没有任何联系

耦合类型

  • 非直接耦合 两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的
  • 数据耦合 一组模块借助参数表传递简单数据
  • 标记耦合 一组模块通过参数表传递记录信息(数据结构)
  • 控制耦合 一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一个功能
  • 外部耦合 一组模块都访问同一全局简单变量,而且不是通过参数表传递该全局变量的信息
  • 公共耦合 多个模块都访问同一个公共数据环境
  • 内容耦合 一个模块直接访问另一个模块的内部数据

欢迎关注我的其它发布渠道