2010-04-22 10 views
2

Je travaille actuellement sur une application serveur qui doit gérer un nombre raisonnable de clients sur TCP en LAN. Les tâches que le serveur doit accomplir varient de trivial à légèrement complexe, et la plupart d'entre elles incluent une certaine forme d'interaction de base de données. Je voudrais rendre l'accès à la base de données asynchrone, car toutes les requêtes ne sont pas aussi complexes.Comment gérer l'accès à une base de données dans une application à deux niveaux longue durée?

La question que j'ai est de savoir quelle est la meilleure façon de traiter l'accès à la base de données dans ce genre d'application? Est-il sage d'utiliser la couche de persistance ou DAL (par exemple, NHibernate, Subsonic)? Je suis inquiet au sujet des fuites potentielles, des problèmes éventuels avec GC qui pourraient tous avoir un impact négatif sur le temps de fonctionnement, et qui sont quelque chose à penser dans les applications à long terme.

Répondre

0

Le principal avantage que vous obtenez en utilisant un outil O/RM comme NHibernate est essentiellement la productivité. Les fournisseurs ont travaillé sur de tels outils pendant des années et le niveau de sophistication d'un outil o/RM moyen est actuellement bien au-delà des capacités d'un seul homme ou d'une petite équipe.

L'utilisation d'un outil O/RM ne vous donnera pas nécessairement des jours de congé supplémentaires. Et un outil O/RM n'est pas exactement un assistant ou un instrument de développement d'application rapide. C'est encore un outil de programmation et un outil sophistiqué. L'utilisation d'un outil O/RM peut améliorer votre productivité tant que vous connaissez l'outil et fournissez un modèle de domaine bien construit. Je ne suis pas familier avec Subsonic mais NHibernate est un produit mature qui est actuellement utilisé avec succès dans un grand nombre d'applications d'entreprise dans le monde entier. Si le produit avait des bugs importants comme des fuites ou un impact négatif sur la disponibilité, cela aurait certainement été examiné et corrigé.

+0

Ceci est une réponse plus généralisée sur les avantages de l'utilisation des outils O/RM par rapport à l'approche roll-your-own. Je vais le marquer comme une réponse. –