<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.geturl.net/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>blog.geturl.net - plugin</title>
  <link>http://blog.geturl.net/</link>
  <description>Actionscript, pixLib et tous leurs amis ;)</description>
  <language>fr</language>
  <pubDate>Wed, 27 Aug 2008 01:14:27 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>[lowRA] - Owner, la notion de plugin.</title>
    <link>http://blog.geturl.net/post/2008/01/13/%5BlowRA%5D-Owner-la-notion-de-plugin</link>
    <guid isPermaLink="false">urn:md5:944ab0408e1c415630e477818830cac6</guid>
    <pubDate>Sun, 13 Jan 2008 19:01:00 +0100</pubDate>
    <dc:creator>ali_o_kan</dc:creator>
        <category>Flash plateforme</category>
        <category>actionscript</category><category>channel</category><category>Flash</category><category>lowRA</category><category>mvc</category><category>owner</category><category>plugin</category>    
    <description>&lt;p&gt;Bonjour &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Je pense que je n'ai plus besoin de convaincre qui que ce soit sur l'intérêt d'utiliser une structure MVC dans le développement d'une application. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.pixlib.org/&quot; hreflang=&quot;en&quot;&gt;PixLib&lt;/a&gt; permet de mettre en place &lt;a href=&quot;http://blog.geturl.net/post/2006/10/27/63-pixlib-vues-modeles-controleur&quot; hreflang=&quot;fr&quot;&gt;une structure MVC + FrontController de manière global&lt;/a&gt;. C'est vraiment puissant, mais cette solution à ses limites. Prenons le cas où l'on charge plusieurs application &quot;pixLib&quot; dans un même site, on se retrouve avec des conflits entre les différentes classes global, le même type de souci que l'on a quand on utilise le ciblage via le _root + des loadMovie(). Pour contourner ce problème chacun a mis en place sa propre solution.&lt;/p&gt;


&lt;p&gt;Avec &lt;a href=&quot;http://www.lowra.org/&quot; hreflang=&quot;fr&quot;&gt;lowRA&lt;/a&gt; se souci a disparu! &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;    &lt;h3&gt;Owner, une histoire de channel&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Si vous avez utilisez les channels dans pixLib vous pouvez directement passer au point suivant.&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Dans pixLib on a vu apparaître &lt;a href=&quot;http://blog.geturl.net/post/2006/01/07/15-pixlib-import-combourreloglogchannel&quot; hreflang=&quot;fr&quot;&gt;la logique de Channel dans la classe Logger&lt;/a&gt;.
L'idée du channel était d'émettre les messages de log sur différentes fréquences, et de pouvoir s'abonner sur une, plusieurs ou toutes les fréquences.&lt;/p&gt;

&lt;pre&gt;
[actionscript]
var filtreChannel : LogChannel = new LogChannel(&amp;quot;FILTRE&amp;quot;);
Logger.getInstance().addLogListener( LuminicTracer.getInstance(), filtreChannel);
Logger.LOG(&amp;quot;pif&amp;quot;, LogLevel.INFO, filtreChannel);
Logger.LOG(&amp;quot;paf&amp;quot;, LogLevel.INFO);
&lt;/pre&gt;


&lt;p&gt;Avec cette exemple, on ne recevra que le message &quot;pif&quot; et non &quot;paf&quot; car le loggueur est uniquement abonné aux messages qui sont émis sur le channel LogChannel(&quot;FILTRE&quot;).&lt;/p&gt;


&lt;h3&gt;Un plugin == un owner == un channel&lt;/h3&gt;

&lt;p&gt;Dans lowRA, on a maintenant la possibilité de définir un channel, appelé owner, pour chaque structure MVC.&lt;/p&gt;


&lt;p&gt;ce qui donne&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;
[actionscript]
var monModel : Model = new Model(owner, name); // extends AbstractModel
ModelLocator.getInstance(owner).getModel(name); // récupère l'instance de monModel
var maVue : View = new View(owner, name); // extends AbstractView
ViewLocator.getInstance(owner).getView(name); // récupère l'instance de maVue
&lt;/pre&gt;


&lt;p&gt;Plus de souci de scoop lors que l'on charge plusieurs structures MVC+FrontController global, car chaque plugin a son propre owner (channel). &lt;img src=&quot;/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;La suite au prochaine épisode. &lt;img src=&quot;/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>