是什么
软件是个复杂的东西。不过,软件整体的复杂度是可以降低的。
为此,软件需要由多个简单的模块组装而成。
也就是说,将代码中关联性较强的元素聚集起来做成模块。模块的接口简单明了,不能含有多余的东西。
为什么
接口简明的简单模块不容易与其他模块发生关联。因此,问题能被控制在局部范围,我们可以在不破坏整体代码的情况下修改对象模块。
控制复杂度是编程的精髓。可惜的是,控制复杂度没有捷径可走。我们只能通过精简模块、精简接口一步一步地降低软件的复杂度。
怎么做
我们尽量减少模块的接口。
模块内部的组成元素之间应具有较强的关联性,这样我们可以在修改某项功能时将影响范围封闭在模块内部。
在此基础上,我们使用这些简单模块搭建整个软件。