J'utilise LINQ to SQL, 3.5 Framework et je voudrais savoir quelle est la meilleure façon de concevoir les classes. Prenons un exemple très simple du tableau User
.
Si j'ai une table utilisateur avec 3 rôles différents de client, administrateur, caissier. Je dirais que je vais devoir créer 3 classes pour chacun des rôles. par exemple. customers.cs ...comment concevoir les classes
Question:
1) Depuis Linq .dbml a déjà l'auto généré par l'utilisateur à partir de ma table utilisateur, toutes les propriétés sont déjà prédéfinies, dois-je encore besoin de créer une classe à User.cs être hérité par 3 des rôles de classe ci-dessus? C'est parce que je ne peux pas ajouter de propriétés en double dans le fichier User.cs, par exemple. Public string Name {get;set;}
aurait échoué car dans le .dbml a déjà l'appel de propriété Nom.
2) Cette question sera très élémentaire je pense ... mais je trouve utile si je peux connaître la bonne réponse. Comment dois-je garer ma fonctionnalité dans la bonne classe? e.g. PrintYearlyReport(), CheckStaffSalary(), ModifySale(), UpdateGovernmentTax()
.... toutes ces fonctions sont sous le rôle d'Admin. Ce sera très lisible si nous avons admin.PrintYearlyReport(), admin.ModifySale()
... Cependant, si nous gardons toutes les fonctionnalités de l'administrateur dans le fichier Admin.cs, alors ce fichier serait très très énorme !!! Pour des raisons de POO, nous devons avoir des classes comme par ex. Sale.cs, Payment.cs, Invoice.cs. Si nous divisons toutes ces fonctionnalités dans chaque classes différentes, alors nous n'aurons plus la façon élégante d'appeler la admin.PrintYearlyReport() plus ..
BTW, qu'est-ce que UML a à faire avec votre question? –
J'ai utilisé UML pour dessiner toutes les classes avant de commencer le codage. Félicitations – VeecoTech
, mais comment cela change-t-il votre question? Demandez-vous comment concevoir les classes ou comment créer un modèle de classe UML? –