Je vais commencer à développer une application qui doit accéder à la base de données. Quels types de schémas de conception doivent être mis en œuvre habituellement pour rendre mon application plus flexible, par exemple, la modification du client DB de SQL vers Oracle. p>
Je pense que l'exécution de certaines requêtes, je peux implémenter le modèle de méthode de modèle. Et pour obtenir une connexion, un motif singleton avec une double vérification serait suffisant. p>
Y a-t-il autre chose que je devrais savoir avant de commencer? p>
L'application sera développée en C #. Il est donc possible de soutenir l'héritage de l'objet et le polymorphisme. P>
Toute aide est appréciée. P>
5 Réponses :
Assurez-vous que tout votre code est encapsulé dans une couche d'accès aux données. Code contre les interfaces afin que si vous devez écrire une nouvelle bibliothèque d'accès aux données, vous n'avez pas à modifier tout code d'appel. Cela isolera au moins tous les données d'accès à la bibliothèque. Quelle est la probabilité que le changement de base de données soit? Ne faites pas le complexe logiciel pour les ifs-ifs, car cela rendra la vie plus difficile. P>
Les interfaces de spam comme il n'y a pas de demain!
+1 Ne faites pas le complexe logiciel pour quoi-ifs. Capacité à changer de manière transparente Les DBMS sont rarement un objectif de conception utile.
Merci pour le +1 @captain - d'avoir souvent été confrontés à des logiciels écrits pour gérer des dizaines de situations qui ne se produisent tout simplement jamais!
Je vais suivre vos conseils. Et la couche d'accès aux données semble suffire à accomplir cet objectif. Merci
Vérifiez le catalogue de modèles d'architecture d'applications d'entreprise par Martin Fowler. P>
Vous pouvez trouver quelques bonnes idées là-bas. P>
Vous devez étudier l'utilisateur du modèle de carte de données pour conserver les détails de la mise en œuvre de la manière dont vos données sont stockées (SQL / ORACELE / Access) indépendamment de l'utilisation des données elles-mêmes. P>
Il y a un bon modèle de design appelé objet d'accès aux données , vous allez avoir à l'incorporer dans c #. p>
Résumé: P>
Le DAO implémente l'accès mécanisme requis pour travailler avec le la source de données. La source de données pourrait être un magasin persistant comme un SGBDM, un service externe comme un échange B2B, un référentiel comme une base de données LDAP, ou Un service d'affaires accessible via Corba Internet protocole inter-orbe (IIOP) ou prises de bas niveau. Les affaires composant qui s'appuie sur les utilisations DAO l'interface plus simple exposée par le DAO pour ses clients. Le dao cache complètement la source de données Détails de la mise en œuvre de son clients. Parce que l'interface exposée par le DAO aux clients ne change pas Lorsque la source de données sous-jacente Modifications de mise en œuvre, ce modèle permet au DAO de s'adapter à différents schémas de stockage sans affecter sa clients ou composants d'entreprise. Essentiellement, le Dao agit comme un adaptateur entre le composant et le Source de données. P> blockQuote>
Le lien vers l'objet d'accès aux données est mort. Un autre bon est ici - oracle.com/technetwork/java/dataaccessObject-138824. HTML
Résumé quelque chose "sur la mouche" et seulement lorsque vous pouvez voir clairement un avantage.
Sinon, c'est juste une perte de temps. P>
Ne pense pas comme suit: P>
Je dois utiliser le motif [x] car il pourrait réparer [y] p> blockQuote>
pense comme ceci: p>
oh merde, encore une fois d'écrire les mêmes choses. Voyons comment nous pourrions éviter cela ... p> blockQuote>