【发布时间】:2018-07-17 22:58:56
【问题描述】:
我有一个类名 DBManager.java,这个类实现了一种单例设计模式,它用于所有 DB 操作。 当我必须连接 1 个数据源时,这非常有效,现在在我的项目中,我必须连接 2 个不同的数据源,现在当我使用这个类时,它的行为会有所不同。因为它总是返回 1 个数据源连接。
现在我该如何以更好的方式来管理它?一种方法是创建另一个 DBManager2.java 类并将该类用于第二个数据源,但我认为这不是一个好方法。
任何建议。
【问题讨论】:
-
如果你问我,我会很容易地使用 2 个不同的数据源来区分我的关注点。您可以轻松地从接口实现并将这些创建的单例存储在 Map 中。类似 Map
-
DBManager真的需要成为单身人士吗?DBManager是通过构造函数还是 setter 注入到 DAO 中?还是一个 DAO 有自我意识并打电话给DBManager.getInstance().getConnection()?发布一些代码,以便我们提出一些重构步骤。
标签: java database design-patterns singleton