SqlCommand est une classe et non une structure, je ne comprend donc pas le gain de performance en utilisant ref.
http://stackoverflow.com/questions/8...ing-same-types
http://stackoverflow.com/questions/3...formance-c-net
Pour l'utilisation de Using(...) ça ne change pas grand chose: le using va être transformé en
try {} finally {obj.Dispose();}
Le dispose ferme la connexion. Le résultat est le même (même si moi aussi je préfère utiliser using)
Je suis d'ailleurs en total désaccord avec lui quand, dans un autre article, il explique qu'il ne perd plus son temps à faire une couche DAL séparée et qu'il mixe tout dans la BLL car, après tout, changer de DB n'arrive que très rarement dans la vie d'un développeur.
Je suis plutôt d'accord avec sa façon de faire, à condition de n'utiliser que des procédures stockées (D'ailleur j'avais déjà défendu cette vision dans un autre post qui parlait DAL, DTO, POCO, et je ne sais plus quels acronymes). En effet même si tu changes de base de données, la couche d'accès reste la même à 1 ou 2 détails près (par exemple certains SGBD ne supporte pas les noms de plus de 30 caractères)
Comme l'a souligné Hervé, il n'a fait qu'une traduction. Il n'est donc pas à blâmer (personne ne l'est en fait je crois)
Je ne le blâme pas, j'essaye juste de comprendre les choix techniques.
De plus il n'est pas interdit d'annoter la traduction, ce qui a mon sens ajouterais une vraie plus-value, surtout que le traducteur a fait des modifications pour créer sa DAL. Rien ne l'empêche d'expliquer ces modifications et pourquoi il les a faites.
Partager