我正在寻找以下设计的最佳实践:我有一个抽象类,并且扩展该抽象类的每个具体类都应为单例。

背景:具体的类是收集器,用于编译和记录有关复杂旧系统运行的统计信息。可通过静态注册表访问收集器,因此无需传递依赖项。抽象类提供了注册表的接口。

我知道,没有完美的解决方案可以提供保证,必须按惯例维护属性。但是,在这种情况下可能会有最佳实践。

最佳答案

从技术上讲,您不能阻止具体类允许创建一个以上的实例。
但是您可以尝试从概念上实施它:


清楚地记录界面
设置一个约束,要求这些子类必须是由依赖项注入容器管理的Bean

关于java - 抽象类,所有派生的具体类应为单例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49379408/

10-14 19:20