Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1482 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Function Shared ou pas ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Function Shared ou pas ?

n°1010170
Gfreeman
http://www.FGFasp.com
Posté le 11-03-2005 à 19:40:45  profilanswer
 

Bonjour à vous
 
Voila j'ai quelques galères avec un ch'ti code et je me triture les neurones concernant l'utilité du mot clé Shared et ses inconvéniants.
 
Pour les avantages, pas de problème, mais pour les inconveniants, bah j'en sais rienG. Dois je instancier mes classes à chaque fois ou alors puis je utiliser ce mot clé sans craindre une problème de lenteur par la suite :sweat: ?

mood
Publicité
Posté le 11-03-2005 à 19:40:45  profilanswer
 

n°1010221
slvn
Posté le 11-03-2005 à 22:23:52  profilanswer
 

tu peux rappeler ce que c'est que shared deja et comment tu l'utilise :/
(met un bon de code)

n°1010228
Taz
bisounours-codeur
Posté le 11-03-2005 à 22:37:15  profilanswer
 

y a pas de mot-clé Shared

n°1010233
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-03-2005 à 22:51:21  profilanswer
 

slvn >> "shared" est l'équivalent VB de static. toutes les variables ou méthodes de classe déclarées en static ne nécessitent pas la création d'un objet pour être appelées.
 
Gfreeman >> c'est une question de conception avant tout. tu dois te poser la question "dois-je créer un objet pour utiliser cette méthode ou pas ?"
de même, as tu besoin d'utiliser des variables globales ou pas ? normalement non, mais il y a des cas ou on ne peut pas s'en passer ou difficilement (notamment pour gérer les préférences d'un programme par exemple).
regarde la classe MessageBox de .NET par exemple. elle contient une méthode statique Show() qui permet son affichage. si cette méthode n'était pas statique, ça signifierait que tu devrais à chaque fois créer un nouvel objet, puis appeler Show(), etc... bonjour l'occupation mémoire si tu veux régulièrement informer l'utilisateur par des MessageBox !
ses inconvénients : impossible de surcharger une méthode static, pas de polymorphisme, etc...
 
bref, le tout est de savoir si tu as besoin de 36 instances de la classe toto ou non


Message édité par Harkonnen le 11-03-2005 à 22:52:12

---------------
J'ai un string dans l'array (Paris Hilton)
n°1010235
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-03-2005 à 22:52:32  profilanswer
 

Taz a écrit :

y a pas de mot-clé Shared


c'est du VB .NET ;)


---------------
J'ai un string dans l'array (Paris Hilton)
n°1010237
Taz
bisounours-codeur
Posté le 11-03-2005 à 22:54:12  profilanswer
 

ben cat VB alors

n°1010244
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-03-2005 à 22:58:47  profilanswer
 

Taz a écrit :

ben cat VB alors


y'a pas de cat VB .NET :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
n°1010293
slvn
Posté le 11-03-2005 à 23:17:52  profilanswer
 

et c'est le drame :)

n°1010302
Taz
bisounours-codeur
Posté le 11-03-2005 à 23:20:55  profilanswer
 

Harkonnen a écrit :

y'a pas de cat VB .NET :spamafote:


ben il est donc temps d'élargir la cat VB

n°1010307
Gfreeman
http://www.FGFasp.com
Posté le 11-03-2005 à 23:24:11  profilanswer
 


Oui effectivement, c'est du vb.NET  :whistle:  
 

Harkonnen a écrit :

slvn >> "shared" est l'équivalent VB de static. toutes les variables ou méthodes de classe déclarées en static ne nécessitent pas la création d'un objet pour être appelées.
 
Gfreeman >> c'est une question de conception avant tout. tu dois te poser la question "dois-je créer un objet pour utiliser cette méthode ou pas ?"
de même, as tu besoin d'utiliser des variables globales ou pas ? normalement non, mais il y a des cas ou on ne peut pas s'en passer ou difficilement (notamment pour gérer les préférences d'un programme par exemple).
regarde la classe MessageBox de .NET par exemple. elle contient une méthode statique Show() qui permet son affichage. si cette méthode n'était pas statique, ça signifierait que tu devrais à chaque fois créer un nouvel objet, puis appeler Show(), etc... bonjour l'occupation mémoire si tu veux régulièrement informer l'utilisateur par des MessageBox !
ses inconvénients : impossible de surcharger une méthode static, pas de polymorphisme, etc...
 
bref, le tout est de savoir si tu as besoin de 36 instances de la classe toto ou non


 
Je te remercie pour toutes ces informations ! Pour ma part, je pense n'avoir pas le choix et devoir utiliser du Shared. Par contre, je me demande si cela ne présente pas un risque en terme de rapidité dans un environnement Web le fait que toutes les variables ou Fonctions Shared soient communes à l'ensemble des utilisateurs. Je pense notamment aux problèmes d'accès simultanés. Pouvez vous me confirmer ?
 
 
Ah juste pour info, en VB.NET, nous avons aussi du Static, mais ça représentation est quelque peu différente ;).


Message édité par Gfreeman le 11-03-2005 à 23:29:11
mood
Publicité
Posté le 11-03-2005 à 23:24:11  profilanswer
 

n°1010446
jagstang
Pa Capona ಠ_ಠ
Posté le 12-03-2005 à 03:57:14  profilanswer
 

rapidité dans un environnement web ?  
 
tu veux dire plus de 100 appels par seconde ? car en dessous... je vois pas le soucis


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
n°1010505
Gfreeman
http://www.FGFasp.com
Posté le 12-03-2005 à 10:44:08  profilanswer
 

Oui par exemple.

n°1010662
jagstang
Pa Capona ಠ_ಠ
Posté le 12-03-2005 à 15:09:28  profilanswer
 

je vois pas le pb. tout est en mémoire avec .NET donc plus rapide que tant, on peut pas
 
C'est pour quel site ? :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Function Shared ou pas ?

 

Sujets relatifs
Appeler une function par url..est-il possible?[RESOLU] Fatal error: main() [function.main] - class php5
pointer_to_unary_function, random_shuffle & gcc 3.3"function" ne fonctionnant qu'une fois...
Call to undefined function: mb_strtoupper()??[VBS] function et "return"
gcc -> the gets function is dangerous and should not be used[Tomcat] : Incompatible object argument for function call
[PHP] function + global, besoin d'aide... [RESOLU][SQL] Aggregate Function missing?
Plus de sujets relatifs à : Function Shared ou pas ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR