Bonjour,
Avant de partir dans le code du projet, j'aimerai avoir votre avis sur mon raisonnement.
Dans ma solution j'ai 4 projets :
- UI (qui contient les views et les modelview)
- DAL (qui contient mon contrat d'accès au données)
- BLL (qui contient toute la logique métier)
- BOL (qui contient mes objets - utilisation de Entity Framework)
La couche UI :
pas grand chose à dire... ce sont les XAML et les ModelView... cette couche a accès a la couche BLL et BOL.
La couche DAL :
Contient une interface IRepository qui dérive de IDispose.
Pour chaque objet dans ma base, j'ai une interface IObjetRepository qui dérive de IRepository et qui contient les méthodes CRUD...
La couche BLL:
Contient toute la logique métier ainsi que les appels vers les méthodes de validation. Cette couche a accès a la couche BOL et DAL
La couche BOL:
Contient mes objets (fichier edmx), mes collections ainsi que les classes/méthode de validation..
Questions :
- les validations doivent elles se trouver dans les classe des objets ou dans des classes indépendantes ?
- Est il utilise d'avoir des classes spécifique aux collections d'objets ? est ce que utiliser "List<MonObject>" suffit il ?
Et enfin j'ai un 5eme projet qui contient l'implémentation concret de ma couche DAL... Par exemple ObjectEntity qui dérive que IObjectRepository et qui utilise l'entity framework pour enregistrer/sauver dans la base de données.
Ce qui m’intéresse dans ce projet c'est de pouvoir modifier facilement la base de données (BDD, fichier XML, WebService) et de pouvoir intégrer MVVM et MEF.
Qu'en pensez vous ?
Merci de votre aide
Partager