结构化设计与KWIC索引实现
1. 模块化分解的起源与概念
在计算机编程领域,模块化设计是一种重要的编程理念。1972年,David Parnas发表了一篇名为“On the Criteria to Be Used in Decomposing Systems into Modules”的论文,提出了使用模块化技术来设计程序的观点。这篇论文也是最早描述基于信息隐藏进行分解的论文之一,而信息隐藏是面向对象编程的关键技术。
1.1 关注点分离
Parnas实际上谈论的是一个名为“关注点分离”的概念。在计算机科学中,关注点分离是将计算机程序分解为功能尽可能少重叠的不同特性的过程。传统上,关注点分离主要是关于分离程序的功能,而Parnas进一步提出了分离数据的想法,使得单个模块既能控制数据,也能控制对数据的操作,并且数据只能通过定义良好的接口可见。
2. 模块化的关键特性
模块化具有三个关键特性,这些特性对于创建模块化程序至关重要。
2.1 封装
封装是将一组由数据和行为定义的服务捆绑在一起作为一个模块,并保持它们的整体性。这个服务组应该是连贯的,并且明显属于一个整体。封装服务和数据的目标是实现高内聚,即模块应该只做一件事,并且模块内的所有功能都应该朝着实现这一件事的目标努力。
2.2 松耦合
松耦合描述了两个模块之间的关联程度,我们希望尽量减少一个模块对另一个模块的依赖。松耦合可以分为以下四类:
| 耦合类型 | 描述 | 评价 |
| — | — | — |
| 简单数据耦合 | 通过参数列表传递非结构化数据 | 最佳耦
订阅专栏 解锁全文
325



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



