image-20220509142801921

image-20220509142812240

结构化的模块化

耦合

Principle 1: 全局变量是有危害的

image-20220509153421942

Principle 2:To be Explicit

image-20220509153658016

image-20220509153707801

image-20220509153715223

Principle 3: Don’t repeat

Principle 4: Programming to Interface

image-20220512101502988

内聚

实现独立模块

  • 减少不在同一个模块之间的元素之间的关系
  • 增加在同一个模块之间的元素的关系

image-20220512101636110

模块化思想的应用

低耦合处理

  • 软件体系结构的分层设计中
  • 软件体系结构的逻辑包设计中
  • 软件体系结构的物理包设计中
  • 详细设计中对象创建者的选择
  • 详细设计中选择控制风格

高内聚处理

  • 软件体系结构的分层设计中
  • 软件体系结构的逻辑包设计中
  • 软件体系结构的物理包设计中
  • 详细设计中对象创建者的选择
  • 详细设计中选择控制风格

结构化的信息隐藏

Module Guide

模块的主要秘密:主要描述的是这个模块所要实现的用户需求

模块的次要秘密:这个模块在实现职责时候所设计的具体细节

模块的角色:独立的模块在整个系统中所承担的角色,所起的作用以及与哪些模块有相关联的关系

模块的对外接口

image-20220512102632830

思想的应用

信息隐藏

  • 软件体系结构的分层设计中
  • 软件体系结构的逻辑包设计中
  • 软件体系结构的物理包设计中
  • 详细设计中对象创建者的选择
  • 详细设计中选择控制风格