我有一大堆静态'Utility'类,它们包含非常通用的静态方法。例如,我有一个CollectionUtility类,它有一些有用的方法,如:
public static void RemoveDuplicates(ICollection collection)... etc
使用C#3.0,我一直在将它们转换为扩展方法。
现在,我听说过在“企业级”应用程序中,通常认为避免使用这些静态类和方法的大型库是最佳实践。我想可能很难维持。
对于那些为大型公司从事大型企业项目的人的问题 - 您是否维护这样的实用程序类库?你是做什么的?
答案 0 :(得分:1)
你所说的代码是共享库的东西。静态方法确实在共享库中占有一席之地。查看System.Linq.Enumerable
我会遵循以下准则:
如果你喜欢依赖注入,你仍然可以拥有它。依赖于静态方法的代码可以改为调用Func(T,U)或引用该静态方法的Action。
答案 1 :(得分:0)
绝对不是。随着时间的推移,实用程序模块变成了大量的粗糙代码。
答案 2 :(得分:0)
我通常只将配置和常量之类的东西放在单例或静态类中,因为它永远不会改变,也可能是“全局的”。
答案 3 :(得分:0)
我听说过在“企业级”应用程序中,通常认为避免使用这些静态类和方法的大型库是最佳实践。我想可能很难维持。
恕我直言,您应该应用泛型等内容来减少实用程序方法/库的大小,如果您只在一个地方使用实用程序方法,那么它不属于共享库,但最后那天你还有很多可能。
无论如何,这让我感到困惑。如果你没有将它们放在共享库中,你会把它们放在哪里?复制/粘贴到每个项目或类似的东西?