<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.lalex.com/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>LAlex devblog v6 - Composition et __resolve : simplifiez vous la composition  - Commentaires</title>
  <link>http://blog.lalex.com/</link>
  <atom:link href="http://blog.lalex.com/feed/rss2/comments/236" rel="self" type="application/rss+xml"/>
  <description></description>
  <language>fr</language>
  <pubDate>Fri, 28 Nov 2008 07:30:10 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1542</link>
    <guid isPermaLink="false">urn:md5:bf16f6549cd11830ebee619361705e85</guid>
    <pubDate>Sat, 07 Aug 2004 14:00:20 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;alors dans l'ordre:&lt;/p&gt;&lt;p&gt;- oui le java.lang.class existe mais ce n'est pas un type instanciable, bon je vais etre encore plus precis sinon pareil on va focaliser sur la petit chtouille expliquée vite fait (plutot que le probleme de fond ECMAscript !== JAVA).&lt;br /&gt;Au sens strict du terme, le java.lang.class ne peut etre construit et donc géré que par la JVM, un dev ne peut pas instancier ce type, cad:&lt;br /&gt;Class toto = new java.lang.Class();&lt;br /&gt;ce n'est pas possible.&lt;/p&gt;&lt;p&gt;- pour les generics, je n'en parle pas au niveau de JAVA, j'en parle au niveau de ECMAscript, et d'ailleurs je ne vois pas où tu vois que je donne une définition des generics pour JAVA ?&lt;/p&gt;&lt;p&gt;&lt;quote&gt;&lt;br /&gt;et puis les Generics de Java Tiger ne sont pas du tout ce que tu mentionnes ci-dessus. C'est plutôt un moyen de forcer une collection d'accepter un typer précis d'objet.&lt;br /&gt;&lt;/quote&gt;&lt;/p&gt;&lt;p&gt;oui dans le contexte de JAVA qui est class-based et staticlly typed.&lt;/p&gt;&lt;p&gt;Mais dans le contexte de ECMAscript qui est prototype-based et dynamically typed, et c'est de ca dont je parle, aborder les genrics comme dans JAVA ca n'a aucun sens.&lt;/p&gt;&lt;p&gt;Si C# ou JAVA ont besoin des generics c'est justement a cause du typage (statically typed), car ca les force souvent a faire du boxing/unboxing pour obtenir le bon type.&lt;br /&gt;En plus clair, ca les fait chier de devoir faire du boxing/unboxing juste pour verifier que le type est correct, les generics ca leur permet de ne pas devoir s'occuper de ca et d'aller plus vite, bref le langage lui-meme avec les generics s'occupe du bon casting du type et ils ne sont pas obligé de le faire ala main.&lt;br /&gt;(c'est dingue bientot on parlera plus de JAVA que de AS si ca continue)&lt;/p&gt;&lt;p&gt;Dans le cas de ECMAscript (meme avec AS2) on est pas du tout statically typed, le langage lui-meme s'occupe deja de gerer les autocast&lt;/p&gt;&lt;p&gt;ex:&lt;br /&gt;toto = 5 + &quot;hello&quot;; //autocast en string&lt;/p&gt;&lt;p&gt;autre ex:&lt;br /&gt;toto = new String(&quot;hello world&quot;);&lt;br /&gt;titi = &quot;hello world&quot;;&lt;br /&gt;tutu = String( &quot;hello world&quot;);&lt;/p&gt;&lt;p&gt;le type est le meme, et pourtant ce sont 3 choses bien différentes.&lt;/p&gt;&lt;p&gt;L'importance du coté des generiques avec ECMAscript c'est que dans ce langage le type est caracterisé par la signature de l'objet et que les generiques sont la logique de pouvoir appliquer un code en dehors de la consideration de la signature de l'objet, mais si on peut faire ca c'est justement parce que les typage est dynamique, on peut nous dans bcp de cas se fouttre du typage.&lt;br /&gt;pas JAVA, pas C#.&lt;/p&gt;&lt;p&gt;note: JAVA au lieu de Java, vieille habitude pour mettre dans un meme panier l'entité Java, peut-etre une mauvaise habitude, mais bon...super important en effet&lt;/p&gt;&lt;p&gt;petit exemple concret pour les generiques en ECMAscript (pas JAVA hein, et simplifié):&lt;/p&gt;&lt;p&gt;&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;AtrributeType&lt;/span&gt; = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;br /&gt;
AttributeType.&lt;span style=&quot;color: #006600;&quot;&gt;none&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;0&lt;/span&gt;;&lt;br /&gt;
AttributeType.&lt;span style=&quot;color: #006600;&quot;&gt;dontEnum&lt;/span&gt; = &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Attribute&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*Boolean*/&lt;/span&gt; dontEnum &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;dontEnum&lt;/span&gt; = dontEnum;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
Attribute.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;valueOf&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;dontEnum&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
Attribute.&lt;span style=&quot;color: #006600;&quot;&gt;setAttribute&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;, prop, attrib &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;, prop, attrib &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//usage&lt;/span&gt;&lt;br /&gt;
toto = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
toto.&lt;span style=&quot;color: #006600;&quot;&gt;hello&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;world&amp;quot;&lt;/span&gt;;&lt;br /&gt;
monAttrib = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; Attribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;true&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//au choix&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//Attribute.setAttribute( toto, &amp;quot;hello&amp;quot;, monAttrib );&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//Attribute.setAttribute( toto, &amp;quot;hello&amp;quot;, 1);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//Attribute.setAttribute( toto, &amp;quot;hello&amp;quot;, AttributeType.dontEnum ); &lt;/span&gt;&lt;/code&gt;le autocasting de ECMAscript cast automatiquement le booleancontenu dans Attribute en 0 ou 1la methode valueOf permet de definir la signature de l'objet et de ne pas s'occuper du typeca permet ainsi de passer au choix une instance creer par un constructeurque directement un Number, ou juste une var contenant une value Numberle ASSetPropFlags ayant besoin d'un type number en 3eme paramettre,va directement appeler la methode valueOf de l'objet qu'on lui passe,le coté générique de la &quot;class&quot; Attribute vient du fait que sa signature objetrenvoie un type Numbernew Attribute( true ) est équivalent a 1note: on aurait pu aussi forcer un cast ou meme un parseInt dans la methode valueOf, mais ce n'est pas necessaire c'est le langage qui s'occupe de faire le casting.en AS2:&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; Attribute &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0066CC;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; setAttribute&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;:&lt;span style=&quot;color: #0066CC;&quot;&gt;object&lt;/span&gt;, property:&lt;span style=&quot;color: #0066CC;&quot;&gt;String&lt;/span&gt;, attrib:Attribute &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
...&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;on ne peut pas avoir de paramettres de fonction faisant de l'autocasting, et donc qui supporte un comportement generique, car le compilo verifie le constructeur de l'objet et non pas la signature de l'objet (valueOf). (note: je n'ai pas reverifié le code que je viens de mettre c'est mis de tete, mais ces problemes de casting existent bel et bien)&lt;/p&gt;&lt;p&gt;Apres oui on peut me sortir, mais naaaaaaaaaan t'as qu'a crée une Interface IAttribute et comme ca dans ton param tu mets pas le type de la class mais le type de l'interface ce qui permet de passer differents types d'objet&lt;br /&gt;static function setAttribute( ..., attrib:IAttribute )&lt;/p&gt;&lt;p&gt;mais non, je ne veux pas oublier un comportement inhérent a ECMAscript simplement parce que AS2 ne le gere pas au niveau du compilo et simplement parce que c'est pas comme ca que ca se fait en JAVA.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - liguorien</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1541</link>
    <guid isPermaLink="false">urn:md5:907e0da9cddbf42d19a16773bf3c90f9</guid>
    <pubDate>Fri, 06 Aug 2004 16:05:17 +0000</pubDate>
    <dc:creator>liguorien</dc:creator>
    
    <description>&lt;p&gt;je dois te corrgier sur certains points zwetan &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;&lt;quote&gt;&lt;br /&gt;- en class-based (JAVA), la class est une description abstraite d'un objet qui servira a creer une instance (un objet) mais la class n'est pas du tout du type Object, une class n'est pas du tout un type&lt;/quote&gt;&lt;br /&gt;en Java, les classes sont de type &lt;em&gt;java.lang.Classe&lt;/em&gt; &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;et puis les Generics de Java Tiger ne sont pas du tout ce que tu mentionnes ci-dessus. C'est plutôt un moyen de forcer une collection d'accepter un typer précis d'objet. Ce qui permet d'éviter de caster à chaque itération &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_cool.gif&quot; alt=&quot;8)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;PS -&gt; au passage, c'est &lt;strong&gt;Java&lt;/strong&gt; et non JAVA... J'ai l'impression que tu cries à chaque fois que tu parles de Java &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_razz.gif&quot; alt=&quot;:P&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;@++&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1540</link>
    <guid isPermaLink="false">urn:md5:0910a8d1ec6076ee6c386a6bede39e3e</guid>
    <pubDate>Fri, 06 Aug 2004 15:43:42 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;on doit pas parler dans le meme contexte ...decidement :S&lt;/p&gt;&lt;p&gt;je ne dis pas de ne pas utiliser AS2, ni meme de ne pas utiliser une syntaxe class-based.&lt;/p&gt;&lt;p&gt;je dis que de part sa nature ActionScript, que ce soit en v1 ou v2, reste basé sur ECMAscript&lt;br /&gt;et que cela donc implique une maniere de penser le code differente que si on programmait avec JAVA ou C#.&lt;/p&gt;&lt;p&gt;pas parce que c'est du flash, mais au contraire de JAVA et C# qui sont class-based&lt;br /&gt;ECMAscript lui est prototype-based, et là je ne parle pas du mot clef &quot;prototype&quot; je parle du comportement du langage, cad:&lt;/p&gt;&lt;p&gt;- en prototype-based (ECMAscript), la &quot;class&quot; (le constructeur) est un objet que l'on copie pour créer une instance (un objet), ce qu'on appelle &quot;class&quot; que l'on declare en AS1 ou AS2 est du type Object.&lt;/p&gt;&lt;p&gt;- en class-based (JAVA), la class est une description abstraite d'un objet qui servira a creer une instance (un objet) mais la class n'est pas du tout du type Object, une class n'est pas du tout un type.&lt;/p&gt;&lt;p&gt;c'est fondamentalement TRES different!&lt;/p&gt;&lt;p&gt;En ECMAscript, la fonction constructeur ne crée pas un type spécifique, elle crées tout simplement un objet point ligne.&lt;/p&gt;&lt;p&gt;En JAVA, la class definit l'abstraction d'un type et des que l'on crée une instance en fonction de celle-ci on crée donc une instance de type spécifique, c'est d'ailleurs pour cette raison que on peut faire ce qu'on appelle du &quot;code reflexion&quot;et c'est exactewment pourquoi on n'a pas du code reflexion par defaut en ECMAscript.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://c2.com/cgi/wiki?ClassesVsPrototypes&quot; rel=&quot;nofollow&quot;&gt;http://c2.com/cgi/wiki?ClassesVsPrototypes&lt;/a&gt;&lt;br /&gt;&quot;the two ways of organizing objects are incompatible - you have classes, you have prototypes, but you got to choose.&quot;&lt;br /&gt;-&gt; les deux manières d'organiser les objets sont incompatibles - vous avez les classes d'un coté, vous avez les prototype de l'autre, mais vous devez choisir.&lt;/p&gt;&lt;p&gt;D'où ma remarque dans un autre commentaire sur les Singleton,&lt;br /&gt;en ECMAscript comme on est directement au contact du type objet on peut directement&lt;br /&gt;déclarer un Singleton simplement en créant une instance du type objet, pas besoin de passer&lt;br /&gt;par une fonction constructeur (&quot;class&quot;) pour créer cette instance unique, alors que en JAVA et bien ils n'ont pas d'autre moyen que de passer par une class si ilsveullent créer un objet vue que les class en JAVA ne sont pas du tout du type objet.&lt;/p&gt;&lt;p&gt;Et c'est comme ca pour des tonnes de comportement du langage ECMAscript,&lt;br /&gt;autre exemple les generiques, si on regarde vite fait dans les specifications ECMA-262&lt;br /&gt;on verra des choses comme ca:&lt;/p&gt;&lt;p&gt;&quot;15.4.4.4 Array.prototype.concat( [item1 [, item2 [, ...]]]&lt;/p&gt;&lt;p&gt;[description de la methode]&lt;/p&gt;&lt;p&gt;NOTE&lt;br /&gt;the concat function is intentionally generic; it does not require that its this value be an Array object.&lt;br /&gt;Therefore it can be transfered to other kinds of objects for use as a method.&lt;br /&gt;Wether the concat function can be applied sucessfully to a host is implementation-dependent.&lt;br /&gt;&quot;&lt;/p&gt;&lt;p&gt;un generique c'est pas dur, c'est une fonction/methode/propriete/etc... qui marche de la meme maniere sur les valeurs de differents types d'objet.&lt;br /&gt;ex:&lt;br /&gt;String.prototype.concat = Array.prototype.concat;&lt;br /&gt;ce qui permettrait de faire des concatenation de String de la meme maniere qu'on faitd es concatenation d'Array (un peu a la maniere du String.Builder.Append() de C#).&lt;/p&gt;&lt;p&gt;C'est un comportement qui existe par defaut dans ECMAscript (1999) qui est tres utile et qui est totalement dans la philosophie d'un langage dynamique.&lt;/p&gt;&lt;p&gt;Les generiques n'existeront dans C# que dans la v2 du .NET framework (2005)&lt;br /&gt;&lt;a href=&quot;http://research.microsoft.com/projects/clrgen/&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/projects/clrgen/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;ils n'ont ete introduits dans JAVA que dans le JDK v1.5 (2002)&lt;br /&gt;&lt;a href=&quot;http://java.sun.com/developer/technicalArticles/releases/generics/&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/developer/technicalArticles/releases/generics/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;plus d'info sur pourquoi les langages class-based ont besoins des generiques:&lt;br /&gt;&lt;a href=&quot;http://c2.com/cgi/wiki?GenericsVsSubtyping&quot; rel=&quot;nofollow&quot;&gt;http://c2.com/cgi/wiki?GenericsVsSubtyping&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Quand je rale sur AS2, c'est pas parce que c'est de la syntax class-based ou juste que le nom AS2 ne me plait pas, je rale sur ce genre d'utilisation du langage que le compilo MX 2004 empeche justement avec la syntaxe AS2.&lt;/p&gt;&lt;p&gt;ex pour utiliser des generiques:&lt;br /&gt;&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; Toto&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;load&lt;/span&gt;:&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;Function&lt;/span&gt; = &lt;span style=&quot;color: #0066CC;&quot;&gt;LoadVars&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;load&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//ca plante&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//on est obligé de faire comme ca&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;load&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; filepath:&lt;span style=&quot;color: #0066CC;&quot;&gt;String&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;LoadVars&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;load&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;, filepath &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// bravo, super pratique!&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;et d'un point de vue pratique&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Toto&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
Toto.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;load&lt;/span&gt; = &lt;span style=&quot;color: #0066CC;&quot;&gt;LoadVars&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;load&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//ca arche tres bien &lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;je critique pas la syntaxe AS2, je critique le fait que AS2 empeche d'utiliser des comportements de programmation évolués inhérent a la nature de ECMAscript !&lt;/p&gt;&lt;p&gt;pour les Singleton c'est le meme probleme.&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1537</link>
    <guid isPermaLink="false">urn:md5:a219de290de283500835b5d7f31ce77b</guid>
    <pubDate>Fri, 06 Aug 2004 01:00:45 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;&lt;strong&gt;JE SUIS D'ACCORD AVEC TOI : IL NE FAUT PAS OUBLIER QUE AS2 RESTE DE L'AS1 !!!&lt;/strong&gt; (dedieu, je l'ai suffisamment répété en plus) Seulement, a partir du moment ou l'on utilise une syntaxe class-based, autant utiliser aussi les usages de cette syntaxe. Ceux qui ne le veulent pas resteront en AS1, et chacun chez soi : mais aller voir l'autre pour lui dire que ce qu'il utilise est systématiquement la mauvaise méthode, ca n'a auncun interêt ! :\&lt;/p&gt;&lt;p&gt;Etant donné que tu ne supportes pas l'AS2, je te propose à ce moment là de ne plus réagir sur les tickets qui abordent l'AS2, ca me parait plus simple ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;++ ^^&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1535</link>
    <guid isPermaLink="false">urn:md5:2beca1414f2dc0b589d3c6724e75cb79</guid>
    <pubDate>Thu, 05 Aug 2004 20:56:33 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;moi je te dis simplement que AS2 il utilise _global de la meme maniere que AS1 que tu veuilles le voir ou non, tu peux t'enerver tout seul, me faire dire des choses que je n'ai pas dites, ca ne change strictement rien.&lt;/p&gt;&lt;p&gt;Ce qui est lourd c'est de voulloir faire et penser JAVA avec de l'ECMAscript, et de toute suite perdre son sang froid des que quelqu'un ne dit pas comme toi ou comme tous les autres.&lt;/p&gt;&lt;p&gt;Pour le Singleton en ECMAscript c'est tres simple&lt;/p&gt;&lt;p&gt;&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;monSingleton&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;Object&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
monSingleton.&lt;span style=&quot;color: #006600;&quot;&gt;maMethod&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;maVar&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//this pour pointer sur le scope du singleton justement&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://c2.com/cgi/wiki?PrototypeBasedProgramming&quot; rel=&quot;nofollow&quot;&gt;http://c2.com/cgi/wiki?PrototypeBasedProgramming&lt;/a&gt;&lt;br /&gt;&quot;A few platypi (like the SingletonPattern) completely disappear. If you want there to be only one of a particular kind of object, then... only make one of them. If you don't want it to be able to be copied, then don't give it a &quot;copy&quot; method.&quot;&lt;/p&gt;&lt;p&gt;Un pattern n'est qu'un pattern, on est pas obligé d'implémenter le Singleton exactement de la meme maniere dans tous les langages, il ne faut pas oublier de tenir compte de la nature du langage utilisé&lt;br /&gt;&lt;a href=&quot;http://c2.com/cgi/wiki?SingletonPattern&quot; rel=&quot;nofollow&quot;&gt;http://c2.com/cgi/wiki?SingletonPattern&lt;/a&gt;&lt;br /&gt;un Singleton en Python ne s'implemente pas de la meme maniere que en JAVA ou en C++, et donc c'est la meme chose pour ECMAscript, il faut tenir compte de la nature du langage.&lt;/p&gt;&lt;p&gt;Oublier que AS2 reste basé sur ECMAscript, un langage basé sur les prototype, est une grosse erreure selon moi, apres chacu nfait ce qu'il veut et on peut toujours apprendre de ses erreures.&lt;br /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - ekameleon</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1528</link>
    <guid isPermaLink="false">urn:md5:c74f6d7f249f3d025c96fb14e41f2719</guid>
    <pubDate>Thu, 05 Aug 2004 10:49:35 +0000</pubDate>
    <dc:creator>ekameleon</dc:creator>
    
    <description>&lt;p&gt;Dans tous les cas &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; l'AS2 reste plus souple non ? c'est pas le plus important ? &lt;br /&gt; Mettre des prototypes dans de l'AS2 pour ma part cela me dérange pas tant que c'est fait dans le bien de mes applications.&lt;br /&gt; Maintenant je considère que tant qu'on sait comment fonctionne flash niveau de ces prototypes ... faire de l'AS2 reste la meilleure solution de faire des gros projets sans se prendre trop la tête, surtout quand on bosse à plusieurs.&lt;br /&gt; J'aime l'AS2 &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; et l'AS1 .. sérieux j'aime aussi mais cela me fait perdre + de temps &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;A+ &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1527</link>
    <guid isPermaLink="false">urn:md5:0a40464a414bc315f6211c3d080fc14f</guid>
    <pubDate>Thu, 05 Aug 2004 09:39:00 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;On aura compris que tu n'aimes pas AS2, tu nous l'a suffisamment répété ... :\ Mais là, ca devient quand-même assez lourd, d'avoir dans chacun de tes commentaires quelque chose qui ressemble à &lt;em&gt;&quot;BOUUUUUH ! AS2 C'EST NUUUUUUUUUUUUL !!!&quot; &lt;/em&gt;... :\&lt;/p&gt;&lt;p&gt;Concernant le _global, je pensais déjà que c'était une mauvaise pratique en AS1 (excepté pour les définitions de classes, mais on avait pas le choix), et c'est un choix purement personnel que de ne pas l'utiliser ...&lt;/p&gt;&lt;p&gt;Concernant le pattern Singleton, je ne vois pas quel est le problème de la définition de classe et de getInstance() ... C'est la définition même de ce pattern, et à partir du moment où tu décides d'utiliser la syntaxe AS2, il n'y a pas d'autres manières de l'implémenter ... :o&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1526</link>
    <guid isPermaLink="false">urn:md5:15aaf126def3bd1ea69bcad39ef6faa2</guid>
    <pubDate>Thu, 05 Aug 2004 01:48:11 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;toplevel, c'est le super trick super OO ala JAVA (oui c'est tres ironique) que MM a trouvé pour contourner les appels de ce qui est défini en _global (pour que le compilo ne se prenne pas les pieds dans le tapis).&lt;/p&gt;&lt;p&gt;Pour ce qui est des var en _global, quand c'est pour définir des namespace, des class, des fonctions génériques du meme niveau que un ParseInt ou autre, désolé c'est utile.&lt;/p&gt;&lt;p&gt;pour info ce code AS2:&lt;br /&gt;&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;class&lt;/span&gt; Toto&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; Toto&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;compile ca en AS1: (dans un symbol MC nommé __Package.Toto)&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#initclip&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;!&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Toto&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; _local1 = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Toto&lt;/span&gt; = _local1;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; _local2 = _local1.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Toto&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;null&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// not popped&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#endinitclip &lt;/span&gt;&lt;/code&gt;alors que si on le codait en AS1 ca compilerait comme ca:&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;Toto&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;dans les 2 cas le _global est utilisé de toute manière.&lt;/p&gt;&lt;p&gt;ECMAscript a obligatoirement un scope global où sont definis les objets par defauts, aussi bien les core object (String, Array, etc..) que les objets propre a l'environnement de flash (Sound, LoadVar etc..) et c'est tout a fait une bonne pratique OO de définir ses propre objets en _global.&lt;/p&gt;&lt;p&gt;La fameuse phrase &quot;bla bla ...c'est une mauvaise pratique d'utiliser des var globales ...bla bla&quot; c'est comme le coup du pattern Singleton qu'on implémente a coup de dfinition de class et de getInstance(), c'est a se demander si les gens comprennent qu'ils parlent de ces choses là dans le contexte d'un langage basé sur les prototypes (la nature du langage pas juste le bete mot &quot;prototype&quot;).&lt;/p&gt;&lt;p&gt;Je sais pas si l'effet recherché est de faire sérieux en utilisant une syntaxe à classe, perso je vois des gens qui se prennent la tete pour humm...des conneries, et pour le Singleton j'en rigole encore :D.&lt;br /&gt;(hint: dans un pattern Singleton c'est justement là où le this prends tout son intéret)&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1525</link>
    <guid isPermaLink="false">urn:md5:116a970c058a7b886421c544b1fc41a7</guid>
    <pubDate>Thu, 05 Aug 2004 00:52:49 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;Arf, je connaissais pas ce fichier toplevel.as ... :o&lt;/p&gt;&lt;p&gt;Sinon, concernant le _global, tout d'abbord je ne pense pas que ce soit une bonne pratique que d'utiliser des variables globales en AS2, et ensuite, à partir du moment ou tous les appels à des variables et/ou fonctions globales sont précédés de leur ciblage _global. ca ne pose pas de problêmes à priori ... Mais l'utiliser &quot;au cas où&quot; ne fait pas de mal ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Au fait, concernant ton commentaire précédent, je me demande si __constructor__ n'est pas incrusté quelque part dans la liste des scopes, ne serait-ce que pour les appels aux propriétés/méthodes statiques, dont l'équivalent en AS1 est en fait une méthode/propriété contenué dans la fonction constructeur ... :o&lt;/p&gt;&lt;p&gt;Evidemment, le this est parfois obligatoire, ne serait-ce que pour transmettre l'objet courant en tant que paramètre à une méthode : &lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;Mouse&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;addListener&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;/code&gt;&lt;br /&gt;++ ^^&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1524</link>
    <guid isPermaLink="false">urn:md5:d01c568cd1c42050d840272fd783ceb3</guid>
    <pubDate>Wed, 04 Aug 2004 21:01:48 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;lalex &gt;&lt;br /&gt;le hasOwnProperty est surtout utile si on fait interagir 2 scope d'objet l'un vers l'autre&lt;br /&gt;cad:&lt;/p&gt;&lt;p&gt;A.__resolve qui point vers B&lt;br /&gt;et&lt;br /&gt;B.__resolve qui point vers A&lt;/p&gt;&lt;p&gt;le hasOWnProperty est le seul moyen de tester l'existence d'un membre sans faire appel a __resolve&lt;/p&gt;&lt;p&gt;&lt;br /&gt;on est obligé de cibler le _global dans les class AS2, ou alors il faut aller modifier le fichier toplevel.as dans son classpath&lt;/p&gt;&lt;p&gt;quand a l'utilisation du this, meme en JAVA il y a des cas où on ne peut pas faire sans&lt;br /&gt;apres les gens sont libre de se compliquer la vie comme ils veullent &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - solo</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1523</link>
    <guid isPermaLink="false">urn:md5:0ae2b99dc98fd1bbd407efd660cb8ed4</guid>
    <pubDate>Wed, 04 Aug 2004 15:45:49 +0000</pubDate>
    <dc:creator>solo</dc:creator>
    
    <description>&lt;p&gt;Je comprends rien à ce que vous racontez :p&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1522</link>
    <guid isPermaLink="false">urn:md5:c117243b5248fad9c3c15c4665f40551</guid>
    <pubDate>Wed, 04 Aug 2004 10:07:51 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;zwetan &gt; En effet, il faut que je teste le &lt;em&gt;_global&lt;/em&gt;. Je n'en avait pas besoin jusque là, étant donné que je faisais une utilisation systématique du &lt;em&gt;this&lt;/em&gt; ou du &lt;em&gt;_global&lt;/em&gt; pour mes ciblages ..; Mais je me suis décidé il y a peu à éliminer le this à l'intérieur de mes classes ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Par contre, concernant le &lt;em&gt;hasOwnProperty&lt;/em&gt; dans ce cas précis, je pense qu'il n'a pas à être utilisé ici, car je veux pouvior accéder aux méthodes et propriétés de mon _targetMC, &lt;strong&gt;qu'elles soient héritées ou non&lt;/strong&gt; ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Je vais jeter un coup d'oeil au VisualProxy de ce pas ! ^^&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - zwetan</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1518</link>
    <guid isPermaLink="false">urn:md5:cd4041d4942a9470a0954372cf0a7025</guid>
    <pubDate>Mon, 02 Aug 2004 12:14:25 +0000</pubDate>
    <dc:creator>zwetan</dc:creator>
    
    <description>&lt;p&gt;il faut faire attention avec l'utilisation du __resolve&lt;br /&gt;- ne pas oublier un acces au _global&lt;br /&gt;- utiliser hasOwnProperty pour eviter les loop infinis&lt;/p&gt;&lt;p&gt;cheminement d'un acces de membre (propriete ou methode):&lt;br /&gt;- check au niveau de l'instance (ex: monInstance.member )&lt;br /&gt;- check au niveau du constructeur de l'instance ( ex: monInstance.__proto__.member )&lt;br /&gt;- check dans la chaine de prototype (ex: monInstance.__proto__.__proto__.member )&lt;br /&gt;- etc... jusqu'a temps d'arriver en fin de chaine de prototype ( cad le __proto__ == null )&lt;br /&gt;- check au niveau de _global ( ex: _global.member )&lt;/p&gt;&lt;p&gt;le __resolve agit au niveau de la fin de chaine de prototype,&lt;br /&gt;si on ne prends pas soin de verifier si le membre existe en _global, on perd l'acces au _global a cause du __resolve.&lt;/p&gt;&lt;p&gt;exemple simple qui montre le non appel a _global:&lt;/p&gt;&lt;p&gt;&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;test&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;hello world&amp;quot;&lt;/span&gt;;&lt;br /&gt;
__resolve = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; member &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;trace&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; member + &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; not found&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0066CC;&quot;&gt;trace&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; test &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// on devrait obtenir &amp;quot;hello world&amp;quot; &lt;/span&gt;&lt;/code&gt;solution:&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;hasOwnProperty&lt;/span&gt; = &lt;span style=&quot;color: #0066CC;&quot;&gt;Object&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;hasOwnProperty&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;test&lt;/span&gt; = &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;hello world&amp;quot;&lt;/span&gt;;&lt;br /&gt;
__resolve = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; member &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;hasOwnProperty&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; member &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;member&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;trace&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; member + &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot; not found&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #0066CC;&quot;&gt;trace&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; test &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;// on obtient bien &amp;quot;hello world&amp;quot; &lt;/span&gt;&lt;/code&gt;de plus il faut aussi faire attention a comment on appelle le code a l'interieur du __resolve,on peut aussi bien appliquer l'appel sur le scope de l'appelant que sur celui de l'appelé&lt;code class=&quot;actionscript&quot;&gt;__resolve = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; member &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;, &lt;span style=&quot;color: #0066CC;&quot;&gt;arguments&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//scope de l'appelé&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;et&lt;code class=&quot;actionscript&quot;&gt;__resolve = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; member &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;, &lt;span style=&quot;color: #0066CC;&quot;&gt;arguments&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;//scope de l'appelant&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;les 2 sont possibles et valides, tout depends de ce que l'on veut faire ;).Pour ce qui est du probleme avec AS2, moi je dis qu'il n'y en a pas, enfin tout depends de comment on se place par rapport a ECMAscript:- soit on choisit de faire du JAVA avec ECMAscript, et forcément __resolve va etre abherant et on va preferer la solution du MVC (Model-View-Controller) sans chercher a voir ou comprendre plus loin.- soit on choisit d'utiliser et de comprendre la nature de ECMAscript et on utilise les fonctionnalités de delegation qui sont d'office dans le langage. Dans ce cas on peut voir __resolve comme un équivalent du prototype mais qui permet de choisir le chemin de delegation.Beaucoup de gens qui conseille le MVC dans flash, ignore le concept de visual proxy&lt;a href=&quot;http://www.javaworld.com/javaworld/jw-09-1999/jw-09-toolbox.html&quot; rel=&quot;nofollow&quot;&gt;http://www.javaworld.com/javaworld/jw-09-1999/jw-09-toolbox.html&lt;/a&gt;Et quand on y regarde de plus pres, le visual proxy est bpc mieux adapté et pratique a du ECMAscript (surtout si on plus on dipose d'un __resolve).voir le thread sur FCNG du 25/02/2004:&quot;[FMX] essai de solution pour relier une class a un clip&quot;&lt;a href=&quot;news://flashcodeurs.dyndns.org/flashcodeurs&quot; rel=&quot;nofollow&quot;&gt;news://flashcodeurs.dyndns.org/flashcodeurs&lt;/a&gt;où on peut trouver ce code source: (qui n;est pas parfait mais qui illustre bien ;))&lt;code class=&quot;actionscript&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* Class ResolverProxy&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Allow to link an object with another objet using __resolve&lt;br /&gt;
&amp;nbsp; &amp;nbsp;instead of ASBroadcaster, EventBroadcaster, EventDispatcher, etc...&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ATTN: this a 1 to 1 relationship&lt;br /&gt;
&amp;nbsp; &amp;nbsp;EventBroadcaster -&amp;gt; 1 to *&amp;nbsp; &amp;nbsp; + unidirectional&lt;br /&gt;
&amp;nbsp; &amp;nbsp;ResolverProxy&amp;nbsp; &amp;nbsp; -&amp;gt; 1 to 1&amp;nbsp; &amp;nbsp; + unidirectional or bidirectional&lt;br /&gt;
&amp;nbsp; &amp;nbsp;NOTE: this can be used to connect a &amp;quot;Model&amp;quot; object&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;to a &amp;quot;View&amp;quot; object as an alternative to&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;Model-View-Controller&amp;quot; or &amp;quot;visual proxy&amp;quot;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ex1:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;myModel = new Model();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_root.createView( &amp;quot;myView&amp;quot; );&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;myView.proxy&amp;nbsp; = myModel;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;myModel.proxy = myView;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ex2:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;myModel = new Model();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_root.createView( &amp;quot;myView&amp;quot; );&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;myView.link( myModel );&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the View and the Model share their methods&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;and properties as they were only one object.&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;_global&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;ResolverProxy&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*reference*/&lt;/span&gt; proxy &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;._proxy = proxy;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;_proxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;addProperty&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;proxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;getProxy&lt;/span&gt;, &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;setProxy&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* Method getClassName&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;getClassName&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;ResolverProxy&amp;quot;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;getClassName&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* Method link&lt;br /&gt;
&amp;nbsp; &amp;nbsp;create a bidirectional link between an object and this instance&lt;br /&gt;
&amp;nbsp; &amp;nbsp;this &amp;lt;--&amp;gt; object&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;link&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*reference*/&lt;/span&gt; linkedProxy &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; linkedProxy.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt; = &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt; = linkedProxy;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;link&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* Setter setProxy&lt;br /&gt;
&amp;nbsp; &amp;nbsp;create a unidirectional link between an object and this instance&lt;br /&gt;
&amp;nbsp; &amp;nbsp;this --&amp;gt; object&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;setProxy&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*reference*/&lt;/span&gt; proxy &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;._proxy = proxy;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;setProxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* Getter getProxy&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;getProxy&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;._proxy;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;getProxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* Internal Method __resolve&lt;br /&gt;
&amp;nbsp; &amp;nbsp;Allow to establish a scope link between&lt;br /&gt;
&amp;nbsp; &amp;nbsp;this object scope and the proxy object scope.&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.__resolve = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*String*/&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;name&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt; == &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;null&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* no proxy defined */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* DON'T TOUCH THIS !!!&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;not found in the instance&lt;br /&gt;
&amp;nbsp; &amp;nbsp; */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; !&lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;hasOwnProperty&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;name&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* not found in the constructor prototype */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;__proto__&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt; == &lt;span style=&quot;color: #0066CC;&quot;&gt;undefined&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* to prevent 256 levels of recursion eg. infinite loop */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;typeof&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt; == &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;function&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* method link */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;apply&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt;, &lt;span style=&quot;color: #0066CC;&quot;&gt;arguments&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;else&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* property link */&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #b1b100;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;proxy&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #0066CC;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;
ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;__resolve&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/* Static Method initialize&lt;br /&gt;
&amp;nbsp; &amp;nbsp;add resolverProxy capability to a target object.&lt;br /&gt;
*/&lt;/span&gt;&lt;br /&gt;
ResolverProxy.&lt;span style=&quot;color: #006600;&quot;&gt;initialize&lt;/span&gt; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;/*reference*/&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;var&lt;/span&gt; toHide;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;._proxy&amp;nbsp; &amp;nbsp; = &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;null&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;link&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; = ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;link&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;getProxy&lt;/span&gt;&amp;nbsp; = ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;getProxy&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;setProxy&lt;/span&gt;&amp;nbsp; = ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;setProxy&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.__resolve = ResolverProxy.&lt;span style=&quot;color: #0066CC;&quot;&gt;prototype&lt;/span&gt;.__resolve;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #0066CC;&quot;&gt;addProperty&lt;/span&gt;&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;proxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;getProxy&lt;/span&gt;, &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;.&lt;span style=&quot;color: #006600;&quot;&gt;setProxy&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; toHide = &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;_proxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;link&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;getProxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;setProxy&amp;quot;&lt;/span&gt;, &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;__resolve&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#93;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ASSetPropFlags&lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#40;&lt;/span&gt; &lt;span style=&quot;color: #0066CC;&quot;&gt;target&lt;/span&gt;, toHide, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #cc66cc;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#41;&lt;/span&gt;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #66cc66;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - yoy</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1516</link>
    <guid isPermaLink="false">urn:md5:afaaef2e8ff94112d094de384688b512</guid>
    <pubDate>Sat, 31 Jul 2004 02:31:15 +0000</pubDate>
    <dc:creator>yoy</dc:creator>
    
    <description>&lt;p&gt;Merci lalex et eka pour ces précisions... c'est exactement ce que je voulais savoir &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;Pour ce qui etait de asbroadcaster, c'etait l'exemple pour illustrer le fait que cest une fonction non doc mais qui peut pas diparaitre &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; ...  en tout cas merci pour l'info je vais garder le AsBroadCaster dans un coin de ma tete ... hihi&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1515</link>
    <guid isPermaLink="false">urn:md5:e4da9fb191b8fa6490fd45f038f1b2e2</guid>
    <pubDate>Fri, 30 Jul 2004 20:59:43 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;yoy &gt; En effet, il se peut que __resolve vienne à disparaitre ... &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_sad.gif&quot; alt=&quot;:(&quot; class=&quot;smiley&quot; /&gt; Mais cette instruction était utilisée dans des composants v1. A moins que Macromedia veuille se couper de tous les sites encore fait en Flash MX, c'est donc peu probable ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;AsBroadcaster n'a pas disparue, c'est juste que le premier &quot;s&quot; est en minuscule. Il vaut mieux utiliser celle-ci plutôt que BroadcasterMX, cette deuxième étant codée en AS, et donc moins performante ... :o&lt;/p&gt;&lt;p&gt;La classe AsBroadcaster est elle directement compilée dans le player ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - ekameleon</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1514</link>
    <guid isPermaLink="false">urn:md5:296e661f90d83c8a6b9f08b6fdf717dd</guid>
    <pubDate>Fri, 30 Jul 2004 19:33:34 +0000</pubDate>
    <dc:creator>ekameleon</dc:creator>
    
    <description>&lt;p&gt;Hello &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;ASBroadCaster... dans flash MX 2004 tu as la classe mx.transitions.BroadcasterMX à la place &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;Sinon pour ma part je me suis fait une classe un peu spéciale qui elle utilise l'héritage de MovieClip et qui me permet de gérer via une propriété R/W align le positionnement de mes clips et j'utilise alors 2 nouvelles propriétés R/W pour les positions x et y &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; Cela alourdi pas tant que cela mes clips et c'est plus propre je trouve &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt; bye &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - yoy</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1513</link>
    <guid isPermaLink="false">urn:md5:f48d2c5bb3029936c81fa8c6809a6b3e</guid>
    <pubDate>Fri, 30 Jul 2004 18:35:51 +0000</pubDate>
    <dc:creator>yoy</dc:creator>
    
    <description>&lt;p&gt;merci &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt; !&lt;br /&gt;je suis content ca faisaint un petit moment que je me demandais ce que faisait  __resolve&lt;br /&gt;par contre est ce que le fait que la fonction soit non documenter implique le fait qu'elle puisse disparaitre ou pas tant que ca (un peu a la maniere de ASBroadCaster) ?&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - LAlex</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1512</link>
    <guid isPermaLink="false">urn:md5:22b80c6f6fa6a978997785115d492a40</guid>
    <pubDate>Fri, 30 Jul 2004 17:47:08 +0000</pubDate>
    <dc:creator>LAlex</dc:creator>
    
    <description>&lt;p&gt;A noter qu'il faut déclarer la classe comme étant &lt;em&gt;dynamic&lt;/em&gt; obligatoirement, si on ne veut pas avoir de problème avec le &quot;type checking&quot; du compilo ! &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;</description>
  </item>
      
    
    <item>
    <title>Composition et __resolve : simplifiez vous la composition - eRom</title>
    <link>http://blog.lalex.com/post/2004/07/30/Composition-et-__resolve-%3A-simplifiez-vous-la-composition#c1511</link>
    <guid isPermaLink="false">urn:md5:4d7173c50dae5aae7edbff96cf875fbe</guid>
    <pubDate>Fri, 30 Jul 2004 17:42:47 +0000</pubDate>
    <dc:creator>eRom</dc:creator>
    
    <description>&lt;p&gt;Un grand &lt;strong&gt;merci&lt;/strong&gt; à toi, je connaissais pas du tout cette petite fonction...&lt;br /&gt;Ca va pas mal simplifier certaines choses lors des  accès aux MovieClips....disons que ça sera plus transparent.....&lt;/p&gt;&lt;p&gt;Ah lala, les fonctions non documentées.....toujours pareil.....&lt;br /&gt;Dommage que ça ne fonctionne qu'en lecture &lt;img src=&quot;http://common.lalex.com/themes/devblog/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;&lt;p&gt;@+ et merci...&lt;/p&gt;</description>
  </item>
      
</channel>
</rss>