J'ai lu plusieurs autres questions sur ce sujet (here, here, et here), mais je n'ai pas encore trouvé de bonne réponse. J'ai déjà développé ma juste part de couches d'accès aux données et préfère personnellement utiliser des classes d'instance au lieu de classes statiques. Cependant, il s'agit plus d'une préférence personnelle (j'aime tester mes objets métier, et cette approche permet de se moquer de la DAL plus facilement). J'ai déjà utilisé des classes statiques pour accéder à la base de données, mais j'ai toujours ressenti un peu d'insécurité quant à la pertinence d'un tel design (en particulier dans un environnement ASP.NET). Quelqu'un peut-il fournir de bons avantages/inconvénients en ce qui concerne ces deux approches pour développer des classes d'accès aux données avec les fournisseurs ADO.NET (sans ORM), dans une application ASP.NET en particulier. N'hésitez pas à vous joindre à nous si vous avez des astuces plus générales sur les classes statiques ou sur les classes d'instances.Quels sont les avantages/inconvénients de choisir entre les classes d'accès aux données statiques et d'instance dans une application Web?
En particulier, les questions qui me préoccupent sont:
- Threading &
- concurrency Évolutivité
- Performance
- Toute autre inconnues
Merci!
Je pense que les avantages l'emportent largement sur les inconvénients, au moins à mon avis. Et en ce qui concerne la consommation de mémoire, je pense que c'est probablement un inconvénient négligeable dans la plupart des applications. –
@Kevin Babcock: Personnellement, j'essaie presque toujours d'utiliser des approches basées sur des instances. Si je veux/besoin de statique, je vais d'habitude à un singleton, puisque c'est plus facile de s'adapter à une approche multiton ou à une instance plus tard (puisque vous travaillez toujours avec des instances ...) –
@ReedCopsey qu'en est-il pour une classe utilitaire? faire le ménage de base, comme la validation des données? –