Présentation de Spring.Net

Je remercie David Coppet, Florent Dugué, Olivier Bazoud, Ophélie Rudent, ALT.Net, le SUG, Zenika, et l’équipe de France pour m’avoir permis de présenter Spring.Net.

C’était hier, dans les locaux de Zenika: http://www.eventbrite.com/event/727568176

Mais comme vous êtes nombreux à ne pas avoir pu y assister, et que certains d’entre vous souhaites consulter les sources des démos, je vous proposes de télécharger le tout sur mon Bitbucket: http://bitbucket.org/grozeille/spring.demo/src

J’espère que ça vous a plus, et que cela vous a permis de découvrir de nouvelles choses dans Spring.Net.
Si des gens d’ALT.Net  souhaite que je refasse la présentation à une date moins problématique, n’hésitez par à me le faire savoir.
De même, si vous souhaitez que j’approfondisse un sujet en prenant plus de temps à expliquer les démos, ce serait avec plaisir.

Share

ALT.Net et l’orienté objet

La dernière réunion ALT.Net a été présentée par Frédéric Fadel sur le sujet: L’orienté objet : erreur historique ou la voie à poursuivre ?

Je remercie Freddy pour sa présentation et Octo pour leur accueil.

En résumé, nous avons évoqué les problèmes avec les langages objets, et ce qui nous fait perdre en productivité.
Pour cela, il faut définir exactement ce qu’est l’Objet: d’après Freddy : Héritage, Composition, Polymorphisme.

D’après lui, l’héritage est un handicap, la composition est une bonne chose, le polymorphisme aussi.

Lire la suite

ALT.Net sur l’AOP

Je vous invite à venir à la session ALT.Net sur l’AOP présenté par Romain Verdier le Mercredi 17 juin.

Pour vous mettre dans le bain et vous permettre de vous informer sur le sujet avant la réunion, voici un exemple d’AOP super simple avec Postsharp : http://bit.ly/71pej

Dans le cadre de mon projet actuel, l’AOP aurait pu m’aider à décorer les méthodes qui nécessitent de l’impersonation (accès à des ressources critiques qui nécessite donc un compte privilégié) ou à gérer la sécurité+log+erreurs au niveau des WebServices (CheckClientCertificate+Log+SoapException).

J’utilise souvent l’AOP avec Spring.net, qui utilise la méthode « création de proxy dynamiquement » ou appelé aussi « dynamic weaving ».

Cette méthode consiste à créer des proxy dynamiquement qui encapsulent l’objet cible en ajoutant le code des aspects aux bons endroits. La limite de l’approche avec Spring.Net est que l’on perd en performance à la création de ces proxy, on ne peut exposer qu’une seule interface, et cela oblige à utiliser Spring.net pour se faire injecter l’instance.

Postsharp lui, fait tout à la compilation, c’est ce que l’on appelle le « static weaving ». L’avantage est que l’on gagne en performance, on ne dépend pas de la façon d’instancier la classe, et la manière d’ajouter des aspects se fait par code (par attributs) se qui peut s’avérer plus agréable que de les déclarer dans un XML (ce que fait Spring.net). L’inconvénient est que cela oblige à posséder le code source de l’objet à « aspectiser » et de le compiler avec les aspects.
On peut citer AspectDNG qui utilise aussi le « static weaving ».

Aspect# utilise le « dynamic weaving » tout comme Spring.net. Ils utilisent tous la réflexion à l’aide de System.Reflection.Emit (fourni par défaut avec .Net) pour créer les proxy dynamiquement. Aspect# le fait par l’intermédiaire de Castle.DynamicProxy (utilisé aussi par NHibernate ou RhinoMock).

Le débat à la session ALT.Net va certainement porter sur Réflexion vs Introspection: la réflexion est moins bonne en performance que l’introspection, car elle nécessite de charger tout le code en mémoire, alors que l’introspection analyse directement l’IL. Voici un petit post sur le débat: http://bit.ly/2xq6aB

Romain a travaillé sur Mono.Cecil.Decompiler avec Jean-Baptiste Evain, il va donc sans doute nous parler des avantages de l’introspection avec Mono.Cecil. Voici un autre post sur le sujet sur le blog de JB.

Voila, j’espère que vous serez ainsi mieux armés pour assister à la session 🙂

ALT.Net: Adaptive Object Modeling

Mardi 19 Mai a eu lieu la session ALT.Net sur l’Adaptive Object Modeling présenté par Sébastien Ros.
Je voulais simplement dire que j’étais content d’assister à cette rencontre : la présentation de Sébastien était courte et intéressante (et drôle en plus !). En résumé : le type de présentation qui ne nous laisse pas le temps de s’endormir.
Cela nous a aussi permis de débattre de divers sujet à la fin de la présentation : nous avons voté pour des sujets qui nous intéressent, puis nous nous somme divisé en 2 groupes pour en débattre. Cette formule nous permet de changer de groupe si le sujet finit par nous ennuyer 🙂
Bref, j’ai bien aimé cette rencontre qui revient sur l’esprit des premières. En plus, Octo nous a bien accueillis avec de succulents petits-fours :p

ALT.Net +   Petits-fours =   Smiley

Lire la suite