最近我正在开发一个应用程序(在Java和C#中,但我认为这个问题并没有关闭),我使用了一些容器类(其职责是将数据存储在正确的顺序)和服务是方法包,对存储在容器类中的数据进行操作。上面提到的所有类都应该只有一个副本存在于内存中,并且所有这些副本都应该在应用程序运行的整个时间内都在内存中。
我曾经认为单身人士在这里是一个好主意,因为我确信每个班级只有一个实例,所以它符合我的期望。但是,我了解到Singleton模式已被弃用,因为它隐藏了依赖关系等等。然后我听说对于这种用法(总是可用的容器类或方法包),静态类可能是个好主意。另一方面,我最近看了一些人们拒绝使用任何静态内容的项目,好像这样做是一种可怕的做法。
我的问题很简单(至少在其公式中):静态类是创建始终可用,易于处理容器和方法包的好主意吗?如果没有,我应该使用什么(如果不是单身人士)?
答案 0 :(得分:1)
你真的不知道数据的来源。如果数据是静态的,那么静态类就是一个很好的解决方案。例如,我可以设想一个静态类来代表美国的50个州。
相反,对于代表授权用户列表的类,我会使用单例模式。虽然只有一个列表,但该应用程序运行时该列表可能会发生变化。