Bonjour à tous,
Je possède une application Web qui consomme pas mal de données côté client, donc en JavaScript.
Les données sont issues d'une bases de données, elles transitent par du PHP qui les renvoie en JSon pour atterrir dans des structures JavaScript.
Au final, ça arrive dans ce type de code :
Et il y a un mapping pour intégrer une réponse JSon dans ces types JavaScript afin de découpler le nommage PHP de celui de JavaScript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 function Client() { this.m_lId = -1; this.m_strFirstName = ""; this.m_strLastName = ""; } Client.prototype = { getId: function() { return this.m_lId; }, getFirstName: function() { return this.m_strFirstName ; }, getLastName: function() { return this.m_strLastName ; }, } function Contrat() { this.m_lId = -1; this.m_lClientId = -1; this.m_iType = -1; this.m_strProduct = ""; } Contrat.prototype = { getId: function() { return this.m_lId; }, getClientId: function() { return this.m_lClientId; }, getType: function() { return this.m_iType ; }, getProduct: function() { return this.m_strProduct ; }, }
Tout ça fonctionne très bien aujourd'hui, mais étant débutant j'aimerais savoir si c'est comme ça, en général, qu'il faille procéder où s'il y avait une bibliothèque pour gérer ce genre de besoin plutôt basique.
En revanche, ce qui m'intéresse davantage, c'est l'accession aux données, par exemple pour retrouver les contrats d'un client je rajouter dans le prototype de Client cette fonction :
Je trouve ce code très moche pour un besoin aussi courant, et ici ce n'est qu'un exemple mais lorsque la structure s'alourdit, la complexité algorithme est exponentielle et les performances en pâtissent. De plus, la taille de ce genre de code alourdit grandement le fichier JS et donc le temps de chargement de la page.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 getContracts: function() { var ret = []; for(var c in g_contracts) if(g_contracts[c].getClientId() == this.m_lId) ret.push(g_contracts[c]); return ret; }
Alors je me dis qu'en 2015 il doit y avoir des outils / une technique, pour mieux gérer ses données, de manière plus rapide et plus propre que ça, ou pas..
Pourriez-vous me dire les bons usages et coutumes à employer lorsque l'on se retrouve dans ce cas là en JavaScript ?
Merci par avance,
A bientôt![]()
Partager