2010-03-02 12 views
0

Question simple pour laquelle je pense avoir une réponse mais je cherche une table d'harmonie. Le DAL devrait-il être celui qui traduit tout ce qui provient de la base de données (que ce soit par le biais de SQL, de procédures stockées, d'ORM, etc.) dans les Entités de domaine telles que comprises par la couche de gestion? Sur une note séparée, toutes les entités de domaine doivent-elles être définies par une interface (si rien d'autre, pour minimiser les dépendances)?Le DAL doit-il être une couche de traduction entre le modèle relationnel et le modèle de domaine?

Répondre

1

Si le DAL est une traduction tout ce qui vient de la base de données (être à travers SQL droite, stockées procédures, ORM, peu importe) dans le domaine entités telle que définie par la couche d'affaires ?

À mon avis, oui. Je ne suis pas sûr qu'il y ait une règle dure et rapide cependant.

Sur une note séparée, si tous les domaine entités définir par une interface (si rien d'autre, pour minimiser dépendances)?

À mon avis, non. Cela peut se retrouver dans beaucoup d'interfaces qui n'ajoutent aucune valeur. YAGNI.

+0

Merci, Michael. J'ai le même sentiment à propos du DAL; mais pour une raison quelconque, j'ai pensé que j'aurais besoin de définir des interfaces pour les entités afin de mieux supporter les tests unitaires. Hypothèse erronée comme je peux le voir maintenant sur le système sur lequel je travaille. Comme je l'ai dit, rien de tel qu'une seconde paire d'yeux ... –