我有很多服务类在我的应用程序没有任何状态(任何领域,属性),但有方法。我应该使这个类为静态或创建这个类的一个对象,并通过使用单个对象进行应用程序的生命周期类只有方法,应该是单身或静态
2
A
回答
7
,如果你需要实现接口或从其他类派生你只需要这个类是一个单例。如果你没有这个需求,那就去一个静态类。
3
我应该使这个类为静态或创建此 类的一个对象,并通过使用单个对象进行 应用程序的生命周期
声明为static
类,所有的方法是static
。这会迫使你稍后在代码中没有实例成员。
您可能会看到:What is the difference between all-static-methods and applying a singleton pattern?
2
单身可以实现接口,而静态类不能。所以如果你的代码会受益于接口(例如依赖注入),那么使用singleton其他明智的静态将冲浪。
1
在大多数情况下,您可以使该类和它的成员静态。但是,如果您计划对服务类进行任何单元测试,您将需要一个实例来使用接口。由于您无法在静态类上实现接口,因此您将需要使用单例模式并实现接口。
相关问题
- 1. 单身或静态类
- 2. 工厂类应该是单例还是静态方法?
- 3. 我应该去静态方法还是非静态方法?
- 4. 静态方法VS单身
- 5. 只有静态方法的辅助类声明应该是什么?
- 6. C#实用功能静态方法/静态类/单身模式
- 7. 只有静态方法的类模块
- 8. JAVA:什么时候该类应该是静态或动态的
- 9. 什么是静态类与只有静态方法的类之间的区别?
- 10. PHP - 类中的静态方法或只是一个函数
- 11. 静态类vs单身类
- 12. 我应该使用静态方法还是静态字段
- 13. 单身或静态 - 我应该使用什么?
- 14. 我应该创建静态方法还是抽象超类
- 15. 模型的泛型超类应该是静态还是单态?
- 16. 在Dao类中使用静态方法或非静态方法?
- 17. 类自身的静态方法?
- 18. 检查类是否有静态方法
- 19. 警告:静态方法应该以静态方式访问
- 20. 如果我有只有一个静态变量的类 - 我应该声明这个类是静态的吗?
- 21. createOperate方法不能被声明为静态;静态方法只能在静态或顶级类型中声明
- 22. 什么是更好的:公共静态类与静态方法或公共类与静态方法?
- 23. 模型类(在MVC中)应该使用静态方法还是实例方法?
- 24. 如果返回类型是静态也该方法是静态的
- 25. 静态方法可能只对一类
- 26. 单身或静态类还是两者都不?
- 27. 轮询类应该是静态的
- 28. 片段内部类应该是静态
- 29. 静态单身?
- 30. 只有公共静态方法与实例化类的类
这似乎是静态类的正确情况 – Steve
跳过并使用[依赖注入](http://en.wikipedia.org/wiki/Dependency_injection)。当你测试时它会让生活变得更容易。 – Mike
静态类只有当你需要DI和单元测试方法时才会出现问题。 @Steve:不要自动跳到静态方法总是要走的结论。 – IAbstract