2015-11-01 2 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 pattern поможет вам в этой ситуации! – Shriram

+0

Прочтите этот вопрос, он может направить вас http://codereview.stackexchange.com/questions/36519/generic-dao-written-in-java?lq=1 – Sneh

ответ

2

Adapter инкапсулировать базы данных конкретных деталей разоблачая общий интерфейс.

Factory Method для создания правильного адаптера.

Модель DAO по существу является адаптером.

Смежные вопросы