我的应用程序中有很多服务类,它们没有任何状态(任何字段、属性)但有方法。我应该将此类设为静态还是创建此类的单个对象并在应用程序的整个生命周期中使用单个对象
问问题
147 次
4 回答
7
如果您需要实现接口或从其他类派生,您只需要将此类作为单例。如果您没有这种需要,请使用静态类。
于 2013-10-28T19:27:14.930 回答
3
我应该将此类设为静态还是创建此类的单个对象并在应用程序的整个生命周期中使用单个对象
将它们声明为static
类,所有方法都是static
. 这将迫使您稍后在代码中不要有实例成员。
您可能会看到:全静态方法和应用单例模式有什么区别?
于 2013-10-28T19:26:42.893 回答
2
单例可以实现接口,而静态类不能。因此,如果您的代码将受益于接口(示例 - 依赖注入),那么使用单例其他明智的静态将浮出水面。
于 2013-10-28T19:29:21.677 回答
1
在大多数情况下,您可以将类及其成员设为静态。
但是,如果您计划对服务类进行任何单元测试,您将需要一个实例,以便接口方便。由于您无法在静态类上实现接口,因此您需要使用单例模式并实现接口。
于 2013-10-28T19:29:46.023 回答