java - 支持不同后端的数据库客户端设计

标签 java database design-patterns

有哪些可用的设计模式可用于实现能够支持各种后端的数据库客户端? (例如 mongodb,或 postgres,...)

作为一种非常简单的方法,我会简单地创建一个接口(interface)来定义所有 CRUD 操作的方法:

interface DBDriver {
  void write(String data);
  String read();
  ...
}

然后将实现此接口(interface)的类注入(inject)到 Client 类中,例如:

class DBClient() {
  public DBClient(DBDriver dbDriver) {
    ...
  }

  //methods like write, read, update ...

}

最佳答案

Adapter在公开通用接口(interface)的同时封装数据库特定的细节。

Factory Method实例化正确的适配器。

DAO 模式本质上是一个适配器。

关于java - 支持不同后端的数据库客户端设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464062/

相关文章:

java - 如何在 OS X 中检测屏幕是否关闭?

sql - 使用 GROUP BY 和 HAVING [SQL] 计算不同产品类别中的 MAX 和 MIN 平均价格

wpf - 使用 MVVM,每个 UI 窗口是否都有自己的 ViewModel?

java - 合作流消费者的设计思路?

javascript - 如何组织项目中的 JavaScript 代码以实现可维护性?

javascript - 如何读取客户端机器的IPV4地址?

java - 为什么在使用空引用访问静态时不出现 NullPointerException?

java - 根据传入的整数值将数组大小加倍

sql-server - 在不同的设置上使 SQL Server 中的 Microsoft Access 表相同

php - MySQL 错误,设置第一个数据库(phpmyadmin,linux 服务器)