vendredi 23 novembre 2012

Petit tour autour des classes de données

Les classes de données permettent de stocker des informations de manière persistante. C'est le rôle "Base de données" du framework Wakanda.
Comme c'est une classe et qu'elles sont objets, nous pouvons utiliser le concept d'héritage dessus. Ce point est très intérresant. Dans ce poste je vous propose d'abord de prendre contact avec le "Model".

Lorsque l'on met au point un modèle de données une des choses qui est utile, c'est de stocker la date de création de l'enregistrement et sa date de dernière modification. Ces informations permettront plus tard de développer des algorithmes de traitement différentiel. Par exemple s'il était nécessaire de faire des calculs complexes par regroupement, dans le cas d'un grand nombre de données, balayer l'ensemble des enregistrements pourrait prendre beaucoup de temps. Par contre si nous pouvons uniquement nous intéresser qu'au données qui ont été modifiées que depuis le dernier lancement du calcul cela optimise le temps de traitement.

Exemple de création d'une table dans le modèle de données

L'idée ici va d'être de créer une Classe de données "Article", puis nous allons ajouter le code nécessaire pour maintenir deux propriété de cette classe qui seront :
  • La date de création que nous nommerons : creDate
  • La date de modification qui sera nommé : modDate
Une fois Wakanda studio lancé, créer une nouvelle solution ( New > Solution), donner le nom que vous souhaitez à votre solution (ici : Demo),  puis dans la barre de bouton sélectioner le bouton "Model"

 Automatiquement un classe de données est créée pour vous et se nomme "DataClass1". D'après ce que j'ai lu dans le documents du site Wakanda les conventions de nommages sont les suivantes:
  • Pour les classes de données : Commencer par une majuscule, et pour chaque nouveau mot mettre la première lettre en majuscule. Je vous recommande bien sûre d'éviter tous genre d'accents, espaces, noms réservés. Par exemple : PremierSecondMot
  • Pour les propriétés (ou champs) : la première lettre est en minuscule et pour tout autre mot première lettre en majuscule (comme la convention de nommage Java). Par exemple : nom, dateDeNaissance.
 Pour changer le nom de la classe créée par défaut double cliquer sur son nom et renommer la en "Article". Noter au passage de l'utilisation du singulier. En effet les évangélistes de Wakanda recommandent de réserver le plurielle pour les collections, je ne rentrerais pas dans le détail à ce sujet maintenant, mais ce nom est modifiable dans la fenêtre qui concerne les propriétés de la classe normalement sur la droite :

Vous pouvez noter qu'une première propriété (ou attribut) à été ajoutée à notre classe : ID, ceci sera un nombre qui nous permettra d'identifier de manière unique une "Entité" (une instance) de notre classe.

Maintenant nous allons pouvoir ajouter nos attributs (propriétés) que nous souhaitons utiliser pour définir un article, je propose les champs suivants :
  • code de type caractère et unique : qui sera un identifiant "humain" donc unique et utilisable par nos futur utilisateur. Il jouera le même rôle que l'ID, mais avec un coté plus humain...
  • nom de type caractère : qui sera le nom de l'article.
  • et nos deux dates (creDate et modDate) de type date.
Pour ce faire il suffit d'utiliser le petit bouton (+) en vert en face de "Attributes" :












En suite pour spécifier le type, vous puvez utiliser la touche "Tab" et saisir le début du type, dans notre cas "str..." pour "string".






 Faire de même pour les autres "attributs" :


Et voilà vous venez de créer votre première classe de persistance dans Wakanda (ou première table de données dans le monde traditionnel des base de données).



Maintenant nous allons nous voir comment faire pour utiliser cette classe. Wakanda propose d'utiliser un fichier Java Script qui s'exécutera du coté serveur comme un peu une console.


Création d'un script de test

Dans la barre de bouton cliquez sur "New JS" :

Et à partir de ce point nous pouvons écrire tout sorte de code en Java Script. Dans ce que j'ai peu comprendre des différente vidéo voici que petits trucs pour jouer avec les Classe de données, bien sûre il existe plein d'autre méthodes....

La variable ds :

Cette variable est un objet qui va nous permettre d'accéder à toutes nos classe de données, ds comme dataSource...

En utilisant la méthode des chemin de points, nous pouvons accéder à notre classe "Article", par exemple si je souhaite conaître le nombre d'article enregistré j'écrirais la syntaxe suivante :

var nbEnregistrements = ds.Article.length;

De plus il faut noter que la dernière ligne du script pourra être utilisée pour retournner des information, le système cherchera à l'évaluer comme un printf ou un stdout etc...

Je vous propose d'essayer le petit script suivant :

Si vous souhaitez voir le contenue de la table entièrement, remplacer tous le code par :



Comme nous pouvons le voir dans la dernière copie d'écran, les date n'ont pas été mise à jour... C'est un peu normal vu que nous n'avons encore rien fait....



 Dernier petit truc pour la route : si vous souahitez tout supprimer dans votre nouvelle classe suite à de nombreux test, vous pouvez utiliser l'instruction suivante :

ds.Article.remove();





Aucun commentaire:

Enregistrer un commentaire