# 5.10 小结

信息隐藏和深模块是密切相关的。如果一个模块隐藏了大量的信息，这往往会增加模块所提供的功能，同时也会减少其接口。这使模块变得更深。相反，如果一个模块没有隐藏很多信息，那么它要么没有很多功能，要么有一个复杂的接口；无论哪种情况，这个模块都是浅的。

当把一个系统分解成模块时，尽量不要受运行时操作顺序的影响；那会把你引向时序分解的道路，从而导致信息泄漏和浅模块。相反，考虑一下执行应用程序任务所需的不同知识，并设计每个模块来封装这些知识中的一条或几条。这将产生具有深模块的简洁设计。
