2015-11-01 113 views
1

什么是可用的设计模式用于实现能够支持各种后端的数据库客户端? (如MongoDB的,或者Postgres的,...)支持不同后端的数据库客户端设计

作为一个非常简单的方法,我想简单地创建它定义了所有CRUD操作方法的接口:然后

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

类实现了这个接口会注射在Client类,如:

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

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

} 
+3

DAO模式将在这种情况下帮助你! – Shriram

+0

阅读这个问题,它可能会引导你http://codereview.stackexchange.com/questions/36519/generic-dao-written-in-java?lq=1 – Sneh

回答

2

Adapter来封装数据库的具体细节,而暴露的通用接口。

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

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