Question de performance ? [ASP.Net] - C#/.NET managed - Programmation
Marsh Posté le 20-05-2004 à 20:55:11
1° C'est quoi ces propriétés de class en public?!
2° Si le compilo est intelligent, ca revient exactement au même.
Marsh Posté le 20-05-2004 à 21:02:05
En fait, la premiere classe est un dictionnaire.
Ce qui me permet dans une seule page de gérer la langue.
(En fait j'ai plusieurs classes MaClasse , genre MaClass_fr,Maclass_En,MaClass_Sp).
Donc pour un n'importe quel mot. Je peux appeler dans MaClassPrincipale la variable Obj.Variablex pour avoir la valeur dans la langue que je veux (En créant un objet de la classe MaClass_(Languequeveux) ou Languequejeveux est un parametre en Querystring.
Marsh Posté le 21-05-2004 à 13:54:12
Du coté du code généré, tes deux exemples génèrent exactement la même chose. Dans le premier cas, tu initialises en "inline" et dans le deuxieme cas tu initialise dans le constructeur.
Dans tous les cas, ton code n'est absolument pas adapté et inutile. Pour ton problème, je ne peux que te conseiller d'utiliser le système des resources intégré dans .NET qui est capable d'effectuer exactement ce que tu recherches et qui plus est sans ton intervention.
Regardes du coté de System.Resources et System.Resources.ResourceManager et les fichiers de ressources localisés.
--
Jay
{Epitech.}
http://msdn.labtech.epitech.net/blogs
Marsh Posté le 21-05-2004 à 15:09:25
gizmo : j ai aucun problème à améliorer ça !!! Des tuyaux ???
jaylee : ouais ok..
Marsh Posté le 21-05-2004 à 15:10:45
bah la solution de Jaylee dans un premier temps, et ensuite, quand tu créeras d'autres objets, évite de mettre les propriétés en public, sauf en dernier recours.
Marsh Posté le 21-05-2004 à 15:14:40
Mais pour y avoir accès à l'extérieur de la classe j'ai pas le choix que cela soit public !
Marsh Posté le 21-05-2004 à 15:21:48
houla! c'est la première fois que tu fais de la programmation objet, pas vrai? Regarde du côté des getters et setters...
Marsh Posté le 21-05-2004 à 15:30:31
Gizmo, ce que Setoune a déclaré en public sont des champs et non des propriétés.
Zetoune, dans la programmation objet on effectue ce que l'on appelle de l'encapsulation des données et en C# cela s'effectue par l'intermédiaire des propriétés (Properties). Autrement dit, tu vas faire quelque chose du style :
Code :
|
L'utilisation des propriétés permet, par exemple, d'éviter que l'utilisateur de ta classe ne fasse quelque que tu n'as pas prévu en mettant une valeur incorrecte dans ton champ privé.
Autre chose, je ne saurais trop te conseiller de faire du C# et non du VB.NET... la syntaxe est généralement beaucoup moins chargée :
Code :
|
Qui donne le même résultat...
--
Jay
{Epitech.}
http://msdn.labtech.epitech.net/blogs
Marsh Posté le 21-05-2004 à 15:34:38
jaylee a écrit : Gizmo, ce que Setoune a déclaré en public sont des champs et non des propriétés. |
En programation objet, on n'a pas de champs dans une classe, on a des méthodes et des propriétés, point.
Marsh Posté le 21-05-2004 à 15:36:45
Ouais je connais les propriétés tout de même.
Jaylee. Je vais regarder du côté des Resources.
Peux tu me dire un peu le fonctionnement ? Ca charges les variables dans mémoire. Je peux les récupérer à n'importe quel endroit ?
Marsh Posté le 21-05-2004 à 15:42:37
Gizmo, je te conseille donc de regarder la documentation du framework. .NET étend légèrement le sens des termes utilisés généralement en O.O.P.
Dans un type, il est possible de trouver les éléments suivants :
En .NET, il existe une différence de taille entre Champ et Propriété, l'un étant une variable au sens original du terme, l'autre étant la simplification de l'utilisation des accesseurs.
--
Jay
{Epitech.}
http://msdn.labtech.epitech.net/blogs
Marsh Posté le 21-05-2004 à 15:47:58
jaylee : pour en revenir au début de ma question. Je veux gagner en rapidité d'affichage de ma page. J'en conclus donc que mon affaire est une usine à gaz. Avec ce que tu m'as conseillé ca devrait aller plus vite ?
Marsh Posté le 21-05-2004 à 15:59:04
zetoune a écrit : jaylee : pour en revenir au début de ma question. Je veux gagner en rapidité d'affichage de ma page. J'en conclus donc que mon affaire est une usine à gaz. Avec ce que tu m'as conseillé ca devrait aller plus vite ? |
Ca ira plus vite pour toi à l'utilisation et ce sera beaucoup plus propre (donc plus rapide). Par exemple, tu pourras utiliser un ResourceManager de cette manière (Exemple tiré de la MSDN Library) :
Code :
|
Il te suffit alors de créer des fichiers ressources nommés par exemple :
Le dernier étant considéré comme un "fallback" au cas où le langage demandé n'existerait pas.
--
Jay
{Epitech.}
http://msdn.labtech.epitech.net/blogs
Marsh Posté le 21-05-2004 à 16:00:35
Ca ira plus vite pour toi à l'utilisation et ce sera beaucoup plus propre (donc plus rapide). Par exemple, tu pourras utiliser un ResourceManager de cette manière (Exemple tiré de la MSDN Library, ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfsystemresourcesresourcemanagerclassctortopic.htm) :
Code :
|
Il te suffit alors de créer des fichiers ressources nommés par exemple :
Le dernier étant considéré comme un "fallback" au cas où le langage demandé n'existerait pas.
--
Jay
{Epitech.}
http://msdn.labtech.epitech.net/blogs
Marsh Posté le 20-05-2004 à 20:51:03
Qu'est ce qui est le plus rapide à être éxécuter ?
Ça :
ou ça :
Message édité par zetoune le 20-05-2004 à 20:52:06