8.3 走得太远
在下拉复杂性时要谨慎,这是个很容易过火的想法。一种极端的做法是将整个应用程序的所有功能都下拉到一个类中,这显然是没有意义的。如果(a)被下拉的复杂性与类的现有功能密切相关,(b)下拉复杂性会导致应用程序中其他地方的许多简化,以及(c)下拉复杂性会简化类的接口,那么降低复杂性就最有意义。请记住,我们的目标是使整个系统的复杂性最小化。
第6章描述了一些学生如何在文本类中定义反映用户界面的方法,例如实现退格键功能的方法。这似乎是好事,因为它把复杂性往下拉。然而,在文本类中加入用户界面的知识并不能很好地简化高层代码,而且用户界面的知识与文本类的核心功能无关。在这种情况下,下拉复杂性只会导致信息泄露。
Last updated