Umbrella : un framework qui n’en est pas un J’ai assisté dernièrement à une présentation du framework Umbrella lors d’une conférence de la Communauté .NET Montréal. Umbrella est un framework dans le domaine public disponible sur Codeplex qui remplit certains trous dans les différentes technologies .NET. Umbrella est bien plus que du code. On y retrouve des nouveaux patrons de conception et des nouveaux paradigmes qui nous font repenser la façon dont nous concevons et écrivons les logiciels. Érik Renaud et François Tanguay, partenaires et fondateurs de nVentive et concepteurs d’Umbrella, ont travaillé pendant près d’un an et demi afin de raffiner les solutions présentés dans leur cadre technologique avant de le rendre public. Ils cherchaient les meilleurs moyens de rendre clair et parlant le code écrit généralement sous .NET. Toutefois, ce n’est pas non plus un cadre d’applications car il n’est pas complet en soi. Il ne fait que compléter .NET, encadrer son utilisation et guider le développeur vers certaines bonnes pratiques d’utilisation des technologies qu’il contient. Je n’ai pas l’intention ici de commenter de long en large les différentes caractéristiques de cet intéressant cadre de travail. Même si la publication d’Umbrella est relativement récente, vous retrouverez quand même quelques critiques sur certains blogues. Les scénarios d’utilisation présentés dans Umbrella proposent des façons d’utiliser judicieusement certaines nouvelles fonctionnalités de .NET 3.5 telles que les méthodes d’extension (extension methods). C’est le cas des points d’extension, cet ensemble de classes permettant de compartimenter en regard de leur fonctionnalité, les différentes méthodes d’extension que nous souhaiterions ajouter aux classes de base de .NET, sans polluer leurs interfaces. Plusieurs autres éléments ont également attiré mon attention. La principale lacune de la version présentement disponible est le manque de documentation. Les classes comportent très peu de commentaires. Heureusement, des scénarios de test basés sur NUnit sont inclus et présentent des cas d’utilisation typiques. Il est à souhaiter que les prochaines versions corrigent cette déficience. Crédit photo : OpenClipart-Vectors via Pixabay.