<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>c2i.fr - ORM</title><link>http://www.c2i.fr:80/Tags/ORM</link><description>c2i.fr - ORM</description><item><title>Réflechissons un peu ce matin à propos des ORM</title><link>http://www.c2i.fr:80/articles/reflechissons-un-peu-ce-matin-a-propos-des-orm</link><description>&lt;p&gt;&lt;img src="/Media/Default/BlogPost/articles/reflechissons-un-peu-ce-matin-a-propos-des-orm/usine_a_gaz.jpg" alt="Le blog des bits" width="700" height="405" /&gt;&lt;br /&gt;&lt;em&gt;&lt;a href="http://nurdcartoon.blogspot.fr/2008/02/usine-gaz.html"&gt;Le blog des bits&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Fabrice Marguerie (ca faisait une paille que t'avais rien &amp;eacute;cris ;-)) vient de publier&lt;a href="http://weblogs.asp.net/fmarguerie/archive/2012/05/11/object-relational-mapping-tools-reality-check.aspx"&gt;&amp;nbsp;un petit billet&lt;/a&gt;&amp;nbsp;qui fait surtout r&amp;eacute;f&amp;eacute;rence &amp;agrave;&amp;nbsp;&lt;a href="http://martinfowler.com/bliki/OrmHate.html"&gt;un autre billet&lt;/a&gt;&amp;nbsp;de Martin Fowler (vous connaissez bien entendu Martin Fowler).&lt;/p&gt;
&lt;p&gt;Le sujet est &amp;agrave; propos des outils ORM, Object-Relational Mapping tools.&lt;/p&gt;
&lt;p&gt;En gros, ne vous laissez pas aveugler par ces outils, en supputant qu'ils r&amp;eacute;solvent tous vos probl&amp;egrave;mes. Ils peuvent couvrir 80% de votre solution, mais il en restera toujours 20% &amp;agrave; traiter avec attention.&lt;/p&gt;
&lt;p&gt;Et c'est l&amp;agrave; ou j'ajouterais que si vous choisissez de partir avec un outil d'ORM, il faut imp&amp;eacute;rativement que ce dernier vous permette d'inclure du code personnalis&amp;eacute;, que vous ne soyez pas prisonnier de votre ORM. Car la plupart du temps, les 20% de code qu'il vous faut faire &amp;agrave; la main, c'est justement les parties les plus d&amp;eacute;licates, les plus complexes, au niveau de la compr&amp;eacute;hension du fonctionnel. Et j'ai vu souvent des arguments de d&amp;eacute;veloppeur indiquant qu'il faut modifier le fonctionnel pour impl&amp;eacute;menter une fonctionnalit&amp;eacute; car le choix de leur outil faisait que ce n'&amp;eacute;tait pas possible.&lt;/p&gt;
&lt;p&gt;Alors oui je pense &amp;agrave; des outils comme NHibernate ou Entity Framework (quoique) qui font que c'est souvent une usine &amp;agrave; gaz qui sort des cartons, qui fait que le d&amp;eacute;veloppeur passe beaucoup de temps &amp;agrave; essayer de comprendre comment d&amp;eacute;tourner son ORM pour terminer son petit WorkItem.&lt;/p&gt;
&lt;p&gt;Je pense &amp;agrave; un outil comme&amp;nbsp;&lt;a href="http://www.softfluent.com/"&gt;CodeFluent Entities&lt;/a&gt;&amp;nbsp;qui lui au contraire est suffisamment mal&amp;eacute;able, flexible pour int&amp;eacute;grer facilement du code personnalis&amp;eacute; (mais qui d'un autre c&amp;ocirc;t&amp;eacute; vous g&amp;eacute;n&amp;egrave;re 80% de votre plomberie). Il a m&amp;ecirc;me &amp;eacute;t&amp;eacute; con&amp;ccedil;u dans ce sens.&lt;/p&gt;
&lt;p&gt;Donc je le r&amp;eacute;p&amp;egrave;te, faites attention &amp;agrave; l'ORM que vous choisissez. Pensez que quand vous choisissez un ORM, cela vous engage pour toute la dur&amp;eacute;e du produit (et pas seulement le temps de son d&amp;eacute;veloppement), et surtout, soyez certain qu'il y aura des features non couvertes par votre ORM.&lt;/p&gt;</description><pubDate>Fri, 11 May 2012 06:34:46 GMT</pubDate><guid isPermaLink="true">http://www.c2i.fr:80/articles/reflechissons-un-peu-ce-matin-a-propos-des-orm</guid></item></channel></rss>