【发布时间】:2015-05-07 07:21:16
【问题描述】:
我正在处理一个现有的 C# 项目,我发现其中一个核心类变得相当大(属性和方法方面)。
我添加的所有新属性都与类几乎直接相关(因此它们在其中是有意义的) - 但是我开始认为宁愿创建子类并开始交换实例可能是明智的使用父类但应该使用子类的地方。
所以我的问题是 - 什么时候班级变得过于“大”?什么时候开始分支到子类等是明智的?我知道这很像上下文相关的东西,但我也知道这方面的资源(设计方法等)是我一生都找不到的。
另外 - 考虑到我采用了一个现有项目,我想做的一件事就是整理它,所以我的想法之一是让事情更加模块化并实践关注点分离等。
只是作为旁注-我不是在问父/子类之间的区别等等-而是更多地沿着类可以有多大(或者是否有任何限制) all) 以及何时开始分支.
有什么想法吗?
【问题讨论】:
-
这是一个完全主观的问题。这是一个“一根绳子有多长”的问题,没有正确答案;视情况而定。
-
我的 2 美分。我认为没有充分的理由使用继承来使类变小。基类和派生类之间的区别应该基于功能而不是行号。如果你觉得你有太多的代码,使用#region和#endregion将你的代码组织成逻辑段,
-
如果它可以帮助您做出决定,我工作的代码库中的类很容易包含数百种方法。更重要的是类及其方法对该对象有意义
-
@ZoharPeled,说真的。人们仍在使用
#regions??!!??? -
@ZoharPeled imho #regions are part of the problem,不是解决代码异味的方法。
标签: c# class inheritance properties