我正在使用berkeley数据库。您应该打开一个环境(它只是一些文件以支持锁定等),然后使用该环境打开您的数据库文件...
这里的问题是应该创建一次环境..
拥有全局变量被认为是个坏主意...
仅创建一次的最佳做法是什么?
我应该使用Singleton模式(枚举实现)还是静态或其他解决方案?
答案 0 :(得分:1)
单身模式最好。
因为即使由于某种原因,如果环境或任何对象变为null,我们也可以在 getInstance()中检查null。
如果它为null,我们可以创建一个。所以每次只有一个对象。
答案 1 :(得分:1)
Singleton anti-pattern和静态决赛都不是一个好主意。您的环境将被创建一次(我想在您的系统启动期间)。您的系统应该可以使用此环境,并且可以从那里将数据库管理器传递给DAO。
理想情况下,您需要使用依赖注入以最佳方式实现此目的,例如Spring framework提供的方式。