结构化设计与面向对象分析设计解析
1. 模块化分解概述
在计算机编程领域,模块化分解是一种重要的设计理念。1972 年,有人提出可以使用模块化技术来设计程序,这一理念基于信息隐藏,是面向对象编程的关键技术之一。模块化分解强调将系统分解为多个模块,每个模块负责特定的功能,并且通过封装和信息隐藏来隔离数据定义及其操作。
2. 模块化的关键特性
模块化具有三个关键特性,它们对于创建模块化程序至关重要:
- 封装 :将一组由数据和行为定义的服务捆绑在一起形成一个模块,并保持它们的整体性。模块应该具有高内聚性,即只做一件事,并且模块内的所有功能都应朝着实现这一目标努力。例如,一个函数应该只完成一个特定的任务。模块向用户提供一个接口,理想情况下,这是访问模块内服务和数据的唯一途径。
- 松耦合 :描述了两个模块之间的关联程度。我们希望尽量减少一个模块对另一个模块的依赖,通过模块接口进行所有交互。目标是创建具有内部完整性(强内聚)和与其他模块小而少、直接、可见且灵活连接(松耦合)的模块。良好的模块耦合应该足够松散,以便一个模块可以轻松被其他模块调用。
- 信息隐藏 :常与封装混淆,但二者不同。封装是将数据和行为包装成一个单一实体(如模块),而信息隐藏则要求模块内的数据和行为仅对操作该数据的模块内部操作可见,对外部模块不可见。这有助于保护数据免受其他模块的干扰,并允许开发者在不影响客户端使用模块的情况下更改模块的实现。
3. 耦合的分类
耦合可分为四类,从好到差依次为:
| 耦合类型 | 描述 |
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



