OVH Cloud OVH Cloud

Shared ou pas shared

3 réponses
Avatar
Tocnet
Bonjour,

Je me pose une question de fond, dans les méthodes que je développe, j'ai
tendance à les mettre, Public Shared, plutot que simplement Public.
Je fais cela pour gagner l'instanciation de la classe quand je vais vouloir
utiliser la méthode.

Est-ce que je me plante dans mon raisonnement, est-ce qu'il ne faut pas
abuser des méthodes shared ?
Quel est votre avis sur le sujet ?

Merci par avance,
Sébastien

3 réponses

Avatar
Pierre Alexis [MVS]
Tocnet a écrit :

Je me pose une question de fond, dans les méthodes que je développe, j'ai
tendance à les mettre, Public Shared, plutot que simplement Public.
Je fais cela pour gagner l'instanciation de la classe quand je vais vouloir
utiliser la méthode.

Est-ce que je me plante dans mon raisonnement, est-ce qu'il ne faut pas
abuser des méthodes shared ?
Quel est votre avis sur le sujet ?



Cela dépend si tes méthodes conceptuellement sont applicables à un objet
particulier qui possède sa classe ou bien si elle sont plutôt du type
"fonctions de bibliothèques".

--
Pierre ALEXIS
Most Valuable Student (MVS)
Courriel & messenger :
Homepage : http://student.ulb.ac.be/~palexis/
Avatar
Tocnet
J'utilise cela pour les deux types.
Pour les fonctions de bibliotheque, je ne me pose pas de question j'utilise
Shared.
Pour les objets particuliers j'utilise Shared ou pas c'est plus dans ce
contexte que j'ai du mal à ma positionner.

Merci
Sébastien


"Pierre Alexis [MVS]" a écrit dans le message de
news:
Tocnet a écrit :

> Je me pose une question de fond, dans les méthodes que je développe,


j'ai
> tendance à les mettre, Public Shared, plutot que simplement Public.
> Je fais cela pour gagner l'instanciation de la classe quand je vais


vouloir
> utiliser la méthode.
>
> Est-ce que je me plante dans mon raisonnement, est-ce qu'il ne faut pas
> abuser des méthodes shared ?
> Quel est votre avis sur le sujet ?

Cela dépend si tes méthodes conceptuellement sont applicables à un objet
particulier qui possède sa classe ou bien si elle sont plutôt du type
"fonctions de bibliothèques".

--
Pierre ALEXIS
Most Valuable Student (MVS)
Courriel & messenger :
Homepage : http://student.ulb.ac.be/~palexis/


Avatar
Patrick Philippot
Bonjour,

Je me pose une question de fond, dans les méthodes que je développe,
j'ai tendance à les mettre, Public Shared, plutot que simplement
Public.
Je fais cela pour gagner l'instanciation de la classe quand je vais
vouloir utiliser la méthode.

Est-ce que je me plante dans mon raisonnement,



Si c'est pour économiser une instanciation, oui :-) .

Ne perdez pas de vue que des méthodes statiques (Shared), puisqu'elles
ne requièrent aucune instance ne peuvent justement pas accéder aux
données d'instance ou aux méthodes non Shared. Ce qui limite quand même
leur portée.

Cependant, si un objet est naturellement sans état (sans données
d'instance), utiliser des méthodes Shared n'est pas une aberration. Les
méthodes de classe (static ou Shared) sont en fait des fonctions
globales que l'on ne peut accéder qu'au travers du nom de la classe qui
les implémente.

Le choix ne doit donc pas être systématique (abuser ou ne pas abuser n'a
pas trop de sens dans ce cas) mais basé sur une analyse: objets sans
état ou pas, nécessité ou non d'accéder aux données d'instance si elles
existent,... A utiliser quand cela est nécessaire, tout simplement.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr