Les Modèles de conception pour la Couche d'Accès aux Données

J'ai une application qui utilise une base de données (MongoDB) pour stocker des informations. Dans le passé, j'ai utilisé une classe de méthodes statiques pour enregistrer et récupérer des données, mais depuis, j'ai réalisé que ce n'est pas très orientée objet-ish ou dans l'avenir.

Même s'il est très peu probable que je vais changer de base de données, je préférerais quelque chose qui ne pas m'attacher trop fortement à Mongo. Je tiens également à être en mesure de mettre en cache les résultats avec l'option d'actualisation de l'objet mis en cache à partir de la base de données, mais ce n'est pas indispensable et peut être fait dans un autre endroit.

J'ai regardé objets d'accès aux données, mais ils ne semblent pas très bien défini et je ne trouve pas de bons exemples de mise en œuvre (En Java ou un langage similaire). J'ai aussi beaucoup de une hors des cas tels que la recherche de noms d'utilisateur pour la saisie semi-automatique qui ne semblent pas bien adapté et rendrait le DAO grand et gonflé.

Existe-il des modèles de conception qui permettrait de faciliter l'obtention et l'enregistrement des objets sans trop de base de données spécifique? De bons exemples de mise en œuvre serait utile (de préférence en Java).

OriginalL'auteur user2248702 | 2014-12-31