Quelques astuces ASP.Net

Voici quelques astuces qui vont peut être vous permettre d’améliorer les performances ou la maintenabilité de vos applications ASP.Net MVC

aspnet

Ne pas trop utiliser l'[Attribute] Routing

Cela rend l’API plus difficile à maintenir. Tout changement de structure entraîne des changements en plusieurs endroits dans les classes de controller, sur chaque méthode possédant un attribut de routage.

Il est bien sûr possible de définir une route de base (Attribut RoutePrefix) au niveau du contrôleur. Mais cela rend les routes juste fatigantes à écrire 🙂

ApiRoutingNotToDo

Pour éviter cela, il faut toujours essayer d’utiliser le mapping de routes défini au niveau de la configuration de l’application. En utilisant la méthode config.Routes.MapHttpRoute()

WebApiGoodRouting

En concentrant mes routes au maximum, j’augmente la maintenabilité et la compréhensibilité fonctionnelle de mon API.

Utiliser les CDN pour les CSS

En utilisant les bundles sur le CSS, ceux-ci sont concaténés et minifiés (compressés). Cela réduit le nombre de requêtes, et la taille de celles-ci avec la compression.

Utiliser les CDN, et les bundles, pour les JavaScript

Comme pour les CSS, nous pouvons paramétrer l’utilisation de CDN dans la configuration des bundles de scripts.

ScriptBundlesWithCdn

 

Ceux-ci seront utilisés en mode release (ou en cas de debug=false dans le web.config)

JavsScriptCdn

 

Il existe d’autres méthodes plus « manuelles » pour parvenir au même résultat:

Limiter les couches d’abstraction et d’indirection

On pense souvent qu’ajouter des couches d’abstraction, est une bonne idée. Cela peut aussi mener à une difficulté à comprendre l’architecture générale, ou créer une perte de productivité en amenant le développeur à trop découper son code et le répartir dans 5 classes anémiques alors que 3 auraient largement suffi.

Il faut bien réfléchir avant de créer ses différentes couches dans son application, le trop est l’ennemi du bien, ici aussi

Appliquer du paging aux requêtes Sql des le début du projet

La pagination permet de s’éviter un Mammouth request pattern dans 6 mois quand les clients auront blindé la BDD en récupérant la liste de leurs factures depuis le début de leur utilisation.

Le plus simple est de démarrer la pagination dès l’implémentation de sa couche Repository. Voici comment nous avons mis cela en place dans notre dernier produit, un exemple issu d’une méthode de notre RepositoryBase:

GetWithPaging

 

Advertisements

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s