<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Elf - Tag - Xcraft</title>
    <link>/tags/elf/index.html</link>
    <description></description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <atom:link href="/tags/elf/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Qui sont&#39;ils</title>
      <link>/elves/01.overview/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/01.overview/index.html</guid>
      <description>Les Elfes sont une couche d’abstraction pour les Goblins. Ecrire un Elfe n’est pas écrire un nouveau type de service Xcraft. Cela revient à écrire un Goblin avec les avantages de profiter de l’auto-complétion, d’une écriture orientée objet et surtout de se concentrer avant tout sur le métier plutôt que sur les mécaniques des Goblins.&#xA;Les Elfes sont classes L’écriture devient plus naturelle et plus concise. Il est alors possible d’exploiter les mécanismes d’aide à la complétion pour suivre et comprendre les API.</description>
    </item>
    <item>
      <title>La naissance</title>
      <link>/elves/02.born/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/02.born/index.html</guid>
      <description>La naissance d’un Elfe peut mener à deux choix distincts. Soit votre Elfe vivra seul pour toujours, soit il se multipliera pour prospérer et dominer le m…. Soyons sérieux, ici il est question de singletons et des autres.&#xA;Un Elfe seul Un Elfe (service) de ce type est très simple à créer car il suffit de dériver sa classe du type Elf.Alone. Vous pouvez alors y adjoindre les quêtes que vous souhaitez de la même manière que pour un service instanciable plusieurs fois.</description>
    </item>
    <item>
      <title>Ses caractéristiques</title>
      <link>/elves/03.properties/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/03.properties/index.html</guid>
      <description>Chaque Elfe peut avoir ses propres caractéristiques. Ici on parle de propriétés protégées de l’instance du service. Vous devriez connaître les méthodes setX, getX et delX des Goblins. Pour les Elfes c’est un peu différent car les registres Goblins ne sont plus directement utilisés; mais l’idée est la même.&#xA;Déclarer des propriétés Il est recommandé de déclarer les propriétés avec la convention du préfixe _ pour indiquer qu’elles sont protected. En effet, inutile d’essayer d’utiliser la syntaxe # pour espérer créer des propriétés private car le fonctionnement des Elfes ne le permet pas.</description>
    </item>
    <item>
      <title>Son état</title>
      <link>/elves/04.states/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/04.states/index.html</guid>
      <description>Est-ce que votre Elfe est malade ? Il est dans quel état ? Ici on ne traite pas de ses caractéristiques, mais bien de son état général.&#xA;Donner un état à votre Elfe Maintenant que vous avez vu à quoi ressemblent les propriétés, qui sont l’équivalent des setX Goblins, voyons comment faire pour donner un état (state) à un Elfe. Pour rappel, le state doit contenir uniquement des valeurs sérialisables (il peut y avoir des exceptions non documentées ici).</description>
    </item>
    <item>
      <title>La création</title>
      <link>/elves/05.creation/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/05.creation/index.html</guid>
      <description>La création d’Elfes doit se faire à l’aide de la méthode create(). Voici des exemples simples pour se familiariser avec l’écriture.&#xA;De nouveaux Elfes Imaginons des Elfes où le premier (Valinor qui est un singleton) veut créer les Elfes (Elrond et Galadriel) sous la forme d’instances.&#xA;class Galadriel extends Elf { logic = Elf.getLogic(GaladrielLogic); state = new GaladrielState(); async create(id, desktopId = null) { this.logic.create(id); return this; } async hi(who) { this.</description>
    </item>
    <item>
      <title>Voyager</title>
      <link>/elves/06.import/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/06.import/index.html</guid>
      <description>Tous les Elfes doivent pouvoir voyager afin de communiquer entre eux. Connaître les autres Elfes demande de retrouver leurs quêtes et ce chapitre va vous permettre de comprendre comment mettre tout cela correctement en place.&#xA;Le partage du savoir Implémenter un Elfe demande d’implémenter sa classe et de l’exporter. Chaque classe devrait utiliser son propre fichier source. En effet, il devrait toujours être possible d’importer un seul Elfe. Imaginons l’exemple suivant; un module Goblin contient les Elfes Galadriel et Elrond.</description>
    </item>
    <item>
      <title>Langages</title>
      <link>/elves/07.jsdoc/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/07.jsdoc/index.html</guid>
      <description>Quand on est un Elfe, on doit soigner son langage.&#xA;Etre un guerrier ne signifie pas être grossier Les Orcs et les Goblins peuvent parfois paraître assez grossier. Les Elfes se doivent de ne pas se laisser aller, et s’exprimer correctement, nécessite de la rigueur.&#xA;Est-ce que vous imagineriez Galadriel s’exprimer comme un Goblin ? Vous vous dîtes peut-être que parce que c’est une guerrière, il ne faut pas s’attendre à cette rigueur dans le langage.</description>
    </item>
    <item>
      <title>Gravé dans la pierre</title>
      <link>/elves/08.grave/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/08.grave/index.html</guid>
      <description>“C’est de la terre que vient notre force. Des montagnes, notre résistance. Nos corps sont forgés à partir de la pierre dans les feux incessants alimentés par notre détermination.”&#xA;— Magni Bronzebeard, World of Warcraft&#xA;Survivre à la mort Vous avez vu comment créer un state pour un Elfe en dérivant une classe depuis Elf.Spirit. Cette mécanique reste proche des Goblins, les différences étant principalement le confort d’écriture et d’utilisation des states.</description>
    </item>
    <item>
      <title>Les échanges</title>
      <link>/elves/09.sync/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/09.sync/index.html</guid>
      <description>« Dans les terres sauvages d’Azeroth, même les plus puissants chamans savent que la force réside dans l’harmonie des éléments. Chaque guerrier agit de manière autonome, mais tous sont prêts à s’unir pour former un tout indivisible, synchronisant leurs actions avec la précision d’une horde en marche. »&#xA;— Thrall, Chef de Guerre de la Horde&#xA;La synchronisation est un mécanisme d’échange d’états entre un client et un serveur. L’objectif étant qu’à la fin, le serveur et tous les clients aient les mêmes états pour tous les acteurs participants à la synchronisation.</description>
    </item>
    <item>
      <title>Un Elfe, le Chest</title>
      <link>/elves/10.chest/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/elves/10.chest/index.html</guid>
      <description>Le Chest est un coffre pouvant contenir n’importe quel document. Son API se limite à ce que tout coffre devrait permettre à un consommateur. On peut y insérer des documents avec la quête supply, récupérer des documents avec la quête retrieve et supprimer des documents avec la quête trash.&#xA;Dans un monde centralisé, on pourrait s’en contenter car supply est en quelque sorte un “upload” et retrieve un “download”. Tout ceci paraît vraiment très simpliste.</description>
    </item>
  </channel>
</rss>