0

Je crée un site Web simple pour me familiariser avec MVC 2.0. Je fais des formulaires Web depuis la version 1.0 et je suis prêt à commencer une refonte majeure d'un site de formulaires Web pour MVC. Donc, vous voulez construire une application plus petite pour travailler sur la courbe d'apprentissage. Je vais donc créer une application de suivi du temps. J'utilise ASP.NET MVC 2.0 et LINQ to SQL. Je prévois d'essayer le référentiel et l'unité de travail puisque je les utiliserai sur le grand site Web.Décisions de classe de conception de domaine

Ma base de données ne possède que 4 tables Catégorie, Projet, Affectation et Utilisateur. Donc, je vais avoir ces 4 entités dans LINQ2SQL. Ensuite, je vais avoir POCO pour ProjectDetails, ProjectSummary, AssignmentDetails, ect. Mais sont ces entités de table consolidées? Ou chacun d'eux a-t-il besoin de ses propres dépôts? Ou devraient-ils s'intégrer dans le Repository agrégé?

Laissez-moi savoir si vous avez besoin de plus de détails

Merci

+0

double possible de [Pattern Repository : Une classe de référentiel pour chaque entité?] (Http://stackoverflow.com/questions/3524646/repository-pattern-one-repository-class-for-each-entity) ou http://stackoverflow.com/questions/2327408/repository-pattern-et-multiple-related-core-entités-ou-business-objects-one-r ou http://stackoverflow.com/questions/1800153/single-vs-multiple-linq2sql-repositories – jfar

Répondre

1

Votre domaine ne POCO de pas avoir un 1 à 1 relation avec vos tables de DB. Et vos classes Repository ne doivent pas non plus être limitées à la lecture/écriture d'une seule table.

Dans une conception basée sur de domaine commencent souvent avec vos modèles de domaine d'abord, puis à déterminer comment persister ceux à votre mécanisme de stockage que ce soit SQL, NoSQL, mémoire cache, etc.

+0

plusieurs façons de construire votre modèle de domaine, comment décidez-vous comment le faire. J'ai trouvé SRP, un référentiel (passerelle), et je suis sûr qu'ils sont d'autres. –

+0

La plupart de nos modèles sont de 1 à 1 par rapport à nos tables DB et pour ceux-là, nous avons un seul référentiel pour chaque lecture/écriture sur une seule table. Dans les cas où un modèle est plus complexe, nous avons un seul référentiel qui lit/écrit sur plusieurs tables dans le même DB. Mais ces dépôts sont plus difficiles à maintenir, alors nous essayons de les garder au minimum. –

Questions connexes