java - 软件架构中的容器和方法包——静态怎么样?

标签 java c# design-patterns architecture

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

我曾经认为单例在这里是一个好主意,因为我确信每个类只有一个实例,所以它符合我的期望。然而,我了解到单例模式已被弃用,因为它隐藏了依赖关系等。然后我听说对于这种用法(始终可用的容器类或方法包)静态类可能是一个好主意。另一方面,我最近查看了一些项目,其中人们拒绝使用任何静态内容,就好像这样做是一种糟糕的做法。

我的问题很简单(至少在其公式中):静态类是创建始终可用、易于处理的容器和方法包的好主意吗?如果没有,我应该使用什么来代替(如果不是单例)?

最佳答案

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

相反,对于表示授权用户列表的类,我将使用单例模式。虽然只有 1 个列表,但该列表可能会在应用运行时发生变化。

关于java - 软件架构中的容器和方法包——静态怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25815908/

相关文章:

java - 使用谷歌 Collection 过滤和排序列表

java - com.google.ads.AdView 无法实例化?

c++ - 在最终类中调用静态方法的静态基类构造函数的设计模式

java - 如何查看 "anti if"运动及其目标?

c# - 为什么泛型 ICollection 不在 .NET 4.5 中实现 IReadOnlyCollection?

Java 堆分配是 2MB 的倍数

java - Jasper API 仅打印第一个报告,其他报告打印为空白

c# - 将值插入选定列的问题

c# - 调用 Web 服务的成本是多少?

c# - 条件 Lambda 表达式?