J'ai besoin de concevoir une couche d'accès aux données DAL .Net Enterprise library version 3.5 Bloc d'application d'accès aux données (DAAB) Dans mon application, j'ai différents modules logiques comme Enregistrement, facturation, gestion des commandes, gestion des utilisateurs, Utilisez les entités métier C# pour mapper les objets du module sur les tables de base de données, puis renvoyez la collection List au client.Question de conception DAL
Je voudrais concevoir mon DAL de telle sorte que si demain nous décidons d'utiliser un autre framework d'accès aux données, nous devrions avoir un minimum de changement de code. Compte tenu de cela, comment puis-je concevoir ma structure de classe? Je pensais que j'aurais une DbManagerBase de classe qui serait une enveloppe sur existante .net DAAB Cette DbManagerBase classe mettrait en œuvre une interface appelée IDbManagerBase qui aurait des méthodes publiques comme ExecuteReader, ExecuteNonQuery, etc.
La-à-dire de classe client. RegistrationDAL, UserManagermentDAL aurait le code suivant dans chacune de ses méthodes: IDbManagerBase obj = new DbManagerBase() obj.ExecuteReader (myStoredProcName) . . . est-ce une bonne conception OOPS? Puis-je savoir une meilleure approche s'il vous plaît? Ou dois-je utiliser l'héritage ici? Puis-je avoir toutes les méthodes dans la classe DbManagerBase et les classes RegistrationDAL, UserManagermentDAL comme statique? Je suppose, si j'ai des méthodes aussi statiques que le code d'interface ci-dessus n'a pas de sens ... non?