Question

Certains objets de mon domaine ne sont pas des racines / entités globales, mais je dois néanmoins les récupérer à partir d'une base de données. Je ne veux pas confondre les choses en créant des référentiels pour ces choses. Alors, quels sont les modèles alternatifs d'accès aux données? Souhaitez-vous simplement créer un DAO pour eux, tout en séparant bien sûr l'interface?

Modifier:

Quelques détails supplémentaires sur ce que je fais. J'ai besoin de créer un code. Ce code a certaines règles quant à son format. L'une des règles est que le dernier caractère doit être un numéro unique incrémenté d'un par rapport au dernier code généré. Par exemple:

ABCD1 ABCD2 ABCD3

Donc, je garde un tableau avec une ligne, une colonne pour stocker le numéro en question. Maintenant, je ne veux pas considérer ce nombre comme une entité et créer un référentiel pour cela - c'est exagéré. J'ai juste besoin d'un moyen de récupérer le numéro, d'ajouter 1 et de le sauvegarder. Je sais que je pourrais le faire de multiples façons, mais je me demande s’il existe une méthode habituelle.

Était-ce utile?

La solution 3

Après avoir examiné les options, je vais utiliser le modèle Table Gateway.

Autres conseils

Plusieurs modèles d’accès aux données pourraient s’appliquer, en théorie. Si vous souhaitez que nous suggérions un modèle spécifique, vous devrez fournir plus de détails.

Sans plus de détails, tout ce que je peux suggérer est d’envisager de regarder le livre Patterns of Enterprise Application Architecture de Martin Fowler.

Edit: Manière habituelle? Non, pas à ce que je puisse penser - cela dépend vraiment de l'endroit et de la manière dont vous utilisez ce code unique dans votre domaine. Si je le faisais, je créerais probablement un petit service qui s'adresse directement à la base de données pour exécuter cette fonction - pas aussi lourd qu'un référentiel, et très concentré sur le problème à résoudre.

Sur la base de la modification: je commencerai par examiner le contexte dans lequel vous devez créer ce code. Peut-être y a-t-il des entités liées ou quelque chose qui vous manque.

En fait, je trouve la question vraiment intéressante car elle revient de temps en temps lors du codage de fonctionnalités spécifiques. Je finis généralement par constater que quelque chose manquait dans le scénario et que cela correspond bien au modèle de référentiel normal.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top