我倾向于创建具有30-40个(或更多)方法的非常大的类。有多少个方法才算太多?有没有什么“气味”或经验法则可以使用?
发布于 2010-12-03 03:16:46
第一步是遵守Single Responsibility Principle。如果你不能用一句话说出你的类是做什么的,那么它可能做得太多了。
一旦你缩小了范围,我不知道方法的数量是否真的重要,只要你的方法是don't do too much的。
发布于 2010-12-03 03:33:14
我会咬人的。除了涉足O-O设计的深水区之外,我不做更多的事情,我将介绍几条我的经验法则:
(
上面的代码应该会大大减少对象的公共接口。
最后,如果您的对象有多个消息需要响应,那么您很可能有一个重构的候选对象:它真的是一个整体对象,还是离散对象的集合?当然,“不止几个”是一个高度主观(和上下文相关)的数字--我将把10-12作为一个合理的限制。
希望这能有所帮助。
有很多关于面向对象设计、分析和建模的书籍。
发布于 2010-12-03 03:19:48
正如其他人所说,当一个类试图做不止一件事情和violates the Single Responsibility Principle时,它就太大了。
关于这个主题和其他主题的一本优秀的书(我强烈推荐给任何开发人员)是Bob Martin的Clean Code。
https://stackoverflow.com/questions/4338831
复制相似问题