2013-10-28 101 views
2

我有很多服务类在我的应用程序没有任何状态(任何领域,属性),但有方法。我应该使这个类为静态或创建这个类的一个对象,并通过使用单个对象进行应用程序的生命周期类只有方法,应该是单身或静态

+0

这似乎是静态类的正确情况 – Steve

+4

跳过并使用[依赖注入](http://en.wikipedia.org/wiki/Dependency_injection)。当你测试时它会让生活变得更容易。 – Mike

+0

静态类只有当你需要DI和单元测试方法时才会出现问题。 @Steve:不要自动跳到静态方法总是要走的结论。 – IAbstract

回答

7

,如果你需要实现接口或从其他类派生你只需要这个类是一个单例。如果你没有这个需求,那就去一个静态类。

2

单身可以实现接口,而静态类不能。所以如果你的代码会受益于接口(例如依赖注入),那么使用singleton其他明智的静态将冲浪。

1

在大多数情况下,您可以使该类和它的成员静态。但是,如果您计划对服务类进行任何单元测试,您将需要一个实例来使用接口。由于您无法在静态类上实现接口,因此您将需要使用单例模式并实现接口。

相关问题