我已经阅读了几个关于何时使用实用程序类或任何没有与之关联的类的问题。
我的问题是,一旦您决定使用实用程序类,最佳实现是什么?一个静态类,一个带私有构造函数的普通类,只有静态方法(类似于java的数学类),还是一种替代方法?
我知道这可能取决于我的具体情况,但我没有,并且正在寻找更一般的指导方针或每种实施方法的优缺点。
答案 0 :(得分:3)
决定使用实用程序类后,最佳实现是什么?
你提出的正是如此。创建一个私有构造函数,创建类final
并实现static
实用程序方法。在这种情况下,没有必要使事情变得更复杂。
当然,你必须小心不要回到命令式/程序式编程风格......只是一种观点。
答案 1 :(得分:0)
恕我直言:
For Utilty Classes for daily Everything诸如Converting Stuff等问题是一个静态类,没有构造函数是最好的实现。非常方便访问:
Utils.ConvertDateToCake();
我需要构造函数的实用程序类是作为单例实现的。所以你可以像这样访问它们:
DatabaseUtils.getInstance().DoSomething();
答案 2 :(得分:0)
实用程序类在OOP中是纯粹的邪恶。查看此博客文章以获得更好的解释:http://www.yegor256.com/2014/05/05/oop-alternative-to-utility-classes.html
简而言之,实用程序类将过程编程带入OOP,使您的代码不易测试,可维护性/可读性更低,速度更慢(!)。