Closed. This question is opinion-based。它当前不接受答案。












想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

2年前关闭。



Improve this question




我通常遵循的规则是,全局变量/函数是邪恶的,并且每段代码都应该存在于它所属的类中。

这是一个非常容易遵循的规则,我相信到目前为止,我从未遇到过与此规则相关的问题。

但是,今天,我需要将一个函数添加到我的程序集中,而不是添加到特定的类。也就是说,几乎所有的类都可以用于此特定功能。

我应该在哪里放置此函数(+1重载)?

如果将其放在“实用程序”类中,我会感到很脏。如果我把它放在半相关的类上,而让其他类直接调用它,我会感到更糟。

这段特定的代码基本上将IList<PointF>切成标准化列表。我现在觉得将它添加为IList<PointF>的扩展方法可能是最好的选择...

最佳答案

如果这是对IList<PointF>的操作,则它应该是IList<PointF>的扩展方法。

通常,应避免使用UtilsHelper类型类。很多时候,您会发现您可能认为是实用程序方法,实际上是一个相当具体的方法,可能属于它自己的类(就像您说的那样)。但是,在特定于域的情况下,类似于Util的类(将相关有用方法分组的类)是有效实体。

09-25 21:16