Я впервые использую шаблон DAO. Из того, что я прочитал, мне поможет отделить мой вызывающий код (контроллер) от любой реализации постоянства - именно то, что я хочу; то есть я не хочу, чтобы меня ограничивали использованием какой-либо конкретной базы данных или сторонних библиотек.
Я создаю тестовый код (в стиле TDD), используя MongoDB и morphia (в качестве примера), с предоставленным классом BasicDAO
morphia.
Насколько я могу судить, для расширения BasicDAO<T, V>
требуется конструктор, принимающий объекты Morphia и Mongo; это очень специфические (сторонние) типы, которые мне действительно не нужны, вне самого класса DAO.
Как я могу получить больше подключаемой архитектуры? Под этим я подразумеваю, что мне следует изучить, чтобы настроить мое приложение для использования определенного DAO с конкретными аргументами конфигурации, внешними по отношению к фактическому источнику?