Question

Où, dans la solution / les projets, devrais-je placer les modèles pour la couche d'accès aux données. Par exemple, si j’ai un module de connexion devant utiliser une table Utilisateurs dans une base de données et si j’ai un modèle User.cs. Où irait ce fichier. Si d'autres modules doivent pouvoir accéder à ce fichier User.cs pour obtenir des informations, je ne peux pas le mettre dans le module. Mais je ne vois pas comment cela peut rester vaguement couplé.

Était-ce utile?

La solution

Pour le couplage lâche, vous devez généralement stocker une interface pour ces objets dans un assemblage séparé pour tous les autres projets auxquels faire référence. Dans mon entreprise, nous appelons cela un "contrat". assembly et généralement ne contient que des interfaces ou des types simples .

Pour ce qui est de le modèle doit aller, si vous conservez vos interfaces dans une DLL séparée pour que tous puissent les utiliser, vous pouvez installez votre modèle où vous voulez . En général, je considère soit mon modèle de contrat, soit mon type de contrat WCF, soit mon type ORM (comme Linq2Sql, etc.), et je les stocke partout où je stocke ce genre de choses. Le " modèle " Je considère être un peu plus fluide ... partout où ça fait du bien.

Je suis plus strict quant au fait que Vues et ViewModels soient dans des espaces-noms se terminant par " Vues " et "ViewModels"

J'espère que cela vous aidera.

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