Dan*_*ark 4 c# design-patterns objective-c god-object
一个类太大而且变得难以使用.在Objective-C中,我很想用类别来打破课堂,但那时候:类别只是将一个装满太多垃圾的房子分成房间吗?我想,同样的问题适用于C#中的部分类.
在什么条件下可以使用类别来解决"类太大"的代码异味?什么时候不正确,班级真的需要"重组或分成小班?"
一个非常好的原则是SOLID原则.特别是"S"代表"单一责任"
单一责任原则
一个对象应该只有一个责任的概念.
当课程变得太大时,他们可能有太多的责任.您能否在班级的工作范围内定义两项或更多责任?如果是这样,请将其分为两个或更多类.然后,您可以使用façade或复合模式将它们聚合回来.
换一种说法:
这意味着,地区做完全没有解决你的问题,从面向对象的点.事实上,它们实际上适得其反,因为它们有助于隐藏问题.
另见Jeff Atwood的这篇文章:
http://www.codinghorror.com/blog/2008/07/the-problem-with-code-folding.html