微众银行对新一代银行IT架构的设计与实现( 六 )

2、耦合性设计

通过上面的模块化设计,每个模块完成一个相对对立的子功能,并且与其他模块之间的关系很简单。模块的独立性是模块化、抽象、信息隐藏和局部化概念的直接结果,具有独立模块的软件容易开发、测试和维护。

模块的独立性通过两项质量标准来衡量:耦合和内聚。其中耦合是指不同模块间相互依赖的紧密程度;内聚是指模块内部各元素彼此结合的紧密程度。这里我们不谈内聚,重点谈谈耦合问题。

概念上来说耦合性是对一个软件结构内不同模块之间互连程度的度量。它取决于各个模块之间接口的复杂程度、进入或访问一个模块的点以及哪些信息通过接口传递。

1)耦合实践

模块的耦合方式从低到高依次是:非直接耦合->数据耦合->标记耦合->控制耦合->外部耦合->公共环境耦合->内容耦合。模块的独立性和耦合性正好是相反的,模块的独立性越低,耦合性越高。

耦合是影响软件复杂程度的一个重要因素。在设计中因采取下述原则:尽量使用数据耦合,少量使用控制耦合和特征耦合,限制公共环境耦合的范围;完全不允许内容耦合,最终降低模块接口的复杂性。

推荐阅读