【发布时间】:2010-12-20 15:59:37
【问题描述】:
我刚刚阅读了SRP, as easy as 123…,除了一段名为“凝聚力”的部分之外,所有这些都与我产生了共鸣(我之前曾声称要“获得”凝聚力,但这次谈论的是参数与实例字段让我停下来……):
上课。看看你的方法。 他们有参数还是他们 使用实例字段?如果他们是 使用参数,删除它们。制作 它们是实例字段。你结束了吗 使用仅使用其中一种的方法 五个实例?这很可能是一个 低凝聚力的警告 该方法和您的之间存在 类。
这种删除参数是否只是一种临时练习,以揭示接近静态能力(低内聚性)的方法,其想法是在完成后返回参数的使用?
或者优先考虑实例字段而不是参数是一种保持高内聚性的实际设计技术?
我是否以某种方式断章取义?
【问题讨论】:
-
实际上对我来说似乎很可疑。一些方法将有参数,不管你封装责任的程度如何。
-
奇怪的是,我会说相反,即:如果你看到一个类方法不使用任何类字段,而只使用参数,请将其提升为静态...
-
@dig,是的,这是标准 OO 与 FP 的区别。
标签: c# parameters instance-variables single-responsibility-principle cohesion