Claymore - Framework MVP

Publié par Fabrice Michellonet sous le(s) label(s) , le 19 février 2010

Non non non, vous ne rêvez pas... non non je ne suis pas mort! Ça faisait bien longtemps que je n'avais pas eu et pas pris le temps de mettre à jour ce blog... Qui as dit que les enfants n'était pas chronophages? :)

Depuis près de deux ans, les missions sur lesquelles j'interviens sont très souvent liées au développement Winform et malheureusement à chaque fois c'est le même constat; les forms et/ou usercontrol sont un joli mélange de code métier et de gestion d'interface graphique, sans parler des cas ou l'on retrouve même le code d'accès aux données fourré au beau milieu de ce jolie petit monde.

Pourtant, cela fait bien longtemps que l'on connait les patterns MVC, MVP et depuis quelques temps le MVVM qui prend son essor avec Silverlight.

En demandant aux architectes ou Lead techniques de ces projets, ce qui avait justifié de ne pas appliquer un des ces patterns, la réponse est presque toujours la même : L'implémentation de ces modèles dans les applications rallonge (parfois beaucoup) les temps de développement, demande des compétences un peu plus high level de la part des développeurs, et la montée en compétence sur les frameworks existants est parfois très lente.

Entre nous, avant de pouvoir appréhender et amortir le temps d'apprentissage d'un framework comme Smart Client - Composite UI Application Block de Microsoft, le projet à intérêt à s'étaler sur un an au minimum.

Afin de rester impartial, je ne m'étendrais pas sur les autres framework MVP qui peuvent se trouver sur la toile.

Bref, il me semblait qu'il serait intéressant d'avoir un framework MVP simple d'utilisation dans mon escarcelle pour les prochains projets. J'ai donc commencé à écrire ça dans mon coin; Aujourd'hui Claymore me semble assez mûre pour le mettre à disposition des autres, et je l'ai donc publié sur codeplex. Évidemment, Claymore fonctionne avec les projets Winform mais je n'ai pu m'empêcher d'ajouter aussi le support des projets ASP.NET.

J'espère que ce framework saura vous aider à découpler les couches métiers des couches UI...