mercredi 5 mai 2010

ASP.NET MVC : Helpers et méthodes d'extentions, le mariage parfait

ASP.NET MVC fournit 3 Helpers essentiels au framework : UrlHelper, HtmlHelper et AjaxHelper que l'on retrouve respectivement sous le nom de Url, Html et Ajax comme propriété.
Ces helpers fournissent un contexte qui expose l'essentiel des méthodes et propriétés "core" les concernant.
Les helpers deviennent alors des accrocheurs de méthodes d'extensions qui vont étendre les fonctionnalités en utilisant le contexte de celui ci. Ainsi, au lieu de créer une méthode d'extension pour ViewPage, ViewPage<T>, ViewUserControl, ViewUserControl<T>, ViewMasterPage et ViewMasterPage<T>, une seule suffit sur HtmlHelper. On peut constater d'ailleur que la plupart des méthodes que l'on retrouve sur ces objets sont des méthodes d'extensions :
Les helpers permettent donc de fournir un contexte aux méthodes d'extensions sans polluer le reste des objets et permettant ainsi de classer ces méthodes, de créer des catalogues de méthodes statiques. Le helper devient un "this" et son écriture devrait justement omettre l'écriture du "this". J'ai ainsi 3 helpers me permettant de résoudre bien des problèmes d'implémentations dans mon application MVC (Ex : AccountHelper, FileHelper). On peut imaginer que ce genre de concept peut s'appliquer dans bien d'autres cas.

0 commentaires:

Enregistrer un commentaire