Question

Dans mes référentiels, j'effectue des assignations à mes objets de domaine à partir des requêtes Linq Entity. J'ai ensuite une couche de service pour agir sur ces objets renvoyés des référentiels.

Mes objets de domaine doivent-ils être dans le référentiel comme ceci? Ou est-ce que mes référentiels devraient être limités aux entités et à l'accès aux données et que ma couche de service attribue des affectations aux objets de domaine?

Effectuer toutes les assignations dans le référentiel semble plus facile, mais maintenant la distinction entre les objets de ma base de données et de mon domaine n’est plus apparente. Quelle est la bonne pratique ici? tia

Était-ce utile?

La solution

IMO si l’application est relativement simple et que vous ne pouvez pas imaginer extraire l’accès aux données, continuez et effectuez les affectations dans le référentiel. Mais si vous pensez que l'application deviendra plus compliquée à l'avenir ou que vous voudrez peut-être modifier l'accès aux données, gardez cette fonctionnalité en dehors des référentiels.

J'ai créé des applications avec des attributions dans les référentiels et d'autres dans la couche service, et une autre encore: j'avais une couche de conversion séparée (ce n'était pas une conversion en un sur un et les objets étaient complexes).

Une chose à retenir sur les meilleures pratiques, il est là pour vous aider, si cela rend la chose plus difficile, alors ne l'utilisez pas.

Autres conseils

Je l'aimais pas avant. Mais maintenant, en général, ne regarde jamais en arrière. En gros, si vous devez passer à une source de données externe structurée différemment, vous pouvez configurer un nouveau mappage en même temps que l’implémentation du code du référentiel.

Il s’agit de la cartographie des données. Vérifiez ce lien: http://www.martinfowler.com/eaaCatalog/repository.html

Vérifiez également cette question connexe: confusion sur le référentiel des objets renvoyés . J’ai utilisé un mappeur similaire, mais je l’ai fait fonctionner au niveau IQueryable, ce qui a permis de faire des choses très intéressantes tout en travaillant avec l’objet de domaine après le mappage.

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