软件体系结构中的容器和方法包-静态如何

本文关键字:静态 方法 软件体系结构 | 更新日期: 2023-09-27 18:21:38

最近我正在开发一个应用程序(在Java和C#中,但我认为问题并不局限于这些语言),在该应用程序中,我使用了一些容器类(其职责是以正确的顺序存储数据)和作为方法包的服务,对存储在容器类中的数据进行操作。上面提到的所有类都应该只有一个副本存在于内存中,并且在应用程序运行的整个过程中,所有这些类都应该在内存中。

我曾经认为singleton是一个好主意,因为我确信每个类只有一个实例,所以它满足了我的期望。然而,我了解到Singleton模式是不推荐使用的,因为它隐藏了依赖关系等等。然后我听说对于这种用法(总是可用的容器类或方法包),静态类可能是个好主意。另一方面,我最近看了一些项目,人们拒绝使用任何静态内容,好像这样做是一种可怕的做法。

我的问题很简单(至少在公式中是这样):静态类是创建始终可用、易于扩展的容器和方法包的好主意吗?如果不是,我应该使用什么(如果不是singletons)?

软件体系结构中的容器和方法包-静态如何

您并没有真正说明数据来自哪里。如果数据是静态的,那么静态类是一个很好的解决方案。例如,我可以设想一个静态类来代表美国的50个州。

相反,对于代表授权用户列表的类,我会使用singleton模式。虽然只有一个列表,但在应用程序运行时,该列表可能会更改。