5.9 走得太远

仅当在其模块之外不需要被隐藏的信息时,信息隐藏才有意义。如果该信息在模块之外被需要,那么你就不能隐藏它。假设一个模块的性能受到某些配置参数的影响,而且模块的不同用途需要对参数进行不同的设置。在这种情况下,重要的是这些参数要在模块的接口上暴露出来,这样就可以适当地调整它们。作为一个软件设计者,你的目标应该是尽量减少模块外部所需的信息量;例如,如果一个模块可以自动调整其配置,这比暴露配置参数更好。但是,重要的是要识别出模块外部需要哪些信息并确保将其暴露出来。

Last updated