2010-07-20 1 views
1

J'ai récemment commencé à transformer toutes les tables de notre production Oracle en modèles afin que je puisse commencer à utiliser un ORM. J'ai choisi Castle Active Record et je peux vraiment commencer à voir son potentiel pour me faciliter la vie. Comme beaucoup d'applications avec lesquelles je travaille utilisent les mêmes tables. Je pense que ce serait bien de créer une bibliothèque séparée. Ma pensée est que si je peux séparer avec succès le travail de base de données, les relations de table et l'interrogation, alors je peux les réutiliser dans le contenu de mon coeur de projet en projet. Je sais pour la plupart comment créer de nouvelles entités, les lier et interroger ce dont j'ai besoin en fonction de ce qui est mappé. A partir de maintenant, j'ai une bibliothèque de classes très simple. Je pourrais alors inclure des fonctions génériques qui pourraient être employées pour interroger une table de recherche et retourner une paire de valeur d'identification pour remplir une liste déroulante, par exemple.Astuces pour la création d'une bibliothèque réutilisable

Pourriez-vous me donner quelques conseils et/ou expériences personnelles pour y parvenir? Ce sera ma première tentative de créer une bibliothèque réutilisable de n'importe quelle sorte.

Merci.

Répondre

2

Je voudrais:

  • Keep it simple.
  • Documentez fortement ses interfaces/méthodes publiques, d'autant plus que vous l'utiliserez dans plusieurs projets.
  • Gardez-le dans le contrôle de la source, ce que vous devriez faire de toute façon, de sorte que tous les projets peuvent facilement obtenir des mises à jour.
1

WCF est un moyen populaire d'y parvenir. Fondamentalement, vous faites un tas de services Web WCF qui donnent accès aux fonctions d'accès aux données.

1

Ceci est un endroit idéal pour utiliser des interfaces. Stockez toutes vos interfaces dans un .dll très petit et isolé - et vous pouvez le distribuer. Vos consommateurs peuvent alors gérer leurs propres implémentations (si je vous comprends bien). Vous pouvez également déployer un composant autonome qui ne dispose que de vos structures de données.