4.6 类炎
不幸的是,深类的价值在今天并没有得到广泛重视。编程中的传统智慧是,类应该是小的,而不是深的。学生们经常被教导说,在类的设计中最重要的是把大的类分解成小的类。对于方法,人们也经常给出同样的建议。“任何长于N行的方法都应该被分成多个方法”(N可能低至10)。这种方法导致了大量的浅类和浅方法,增加了整个系统的复杂性。
“类应该是小的”方法的极端是一种综合症,我称之为类炎(classitis),它源于一种错误的观点:“类是好的,所以类越多越好”。在患有类炎的系统中,开发人员被鼓励尽量减少每个新类中的功能数量:如果你想要更多的功能,就引入更多的类。类炎可能会导致单独简单的类,但它会增加整个系统的复杂性。小的类并没有贡献多少功能,所以必须要有很多的类,每个类都有自己的接口。这些接口累积起来就会在系统层面产生巨大的复杂性。小类也会导致冗长的编程风格,因为每个类都需要样板代码。
Last updated