OVH Cloud OVH Cloud

Classe via module

5 réponses
Avatar
Annie L.
J'ai lu sur un forum que nous devons employé des Classes au lieu de Modules
en Vb.Net. Les modules proviennent de VB6 et ne sont pas orienté objet 'OO'.
Se servir de classes est la meilleure approche en VB.Net.
Dans le forum en question , ils disaient que si je veux éviter d'instancié
ma classe pour utiliser les fonctions internes ou procédures, je n'ai qu'à
placer "shared" dans la définition de ma fonction ex.:[code]Public shared
Function Addition(byval x As Integer, byVal y As Integer) As Integer
return x + y
End Function
[/code]

Lors de l'exécution d'une assembly, la CLR ne chargent pas toutes les
assembly référées en mémoire et donc en découpant bien ton application tu
peux faire en sorte que tous les composants ne soit pas chargé dès que
l'application est exécutée.

Si j'emploie un module, il le charge en mémoire lors de l'exécution de mon
application (au démarrage) ?, et qu'en est-il de la classe (son comportement?
Va t-il la charger (la classe) au début de l'application?

Si je crée une classe à part de mon projet et que j'ajoute une référence à
mon projet, quelle est la différence par rapport à celle inclut dans mon
projet avec le mot 'shared' ?

J'aimerais avoir vos commentaires là-dessus!

5 réponses

Avatar
Francois Muller
"Annie L." a écrit dans le message de
news: 7830CA87-0DE1-482F-A504-
J'ai lu sur un forum que nous devons employé des Classes au lieu de
Modules
en Vb.Net. Les modules proviennent de VB6 et ne sont pas orienté objet
'OO'.
Se servir de classes est la meilleure approche en VB.Net.



Si vous voulez recréer des "modules" dans VB.Net, le plus simple est de
mettre l'ensemble du code de votre module dans une classe, et déclarer
"shared" les fonctions utilisées. C'est méthodologiquement douteux d'un
point de vue POO, mais techniquement immédiat.

F.
Avatar
Annie L.
C'est méthodologiquement douteux d'un
point de vue POO, mais techniquement immédiat.




Que voulez-vous dire par douteux!!!!!!




"Francois Muller" a écrit :


"Annie L." a écrit dans le message de
news: 7830CA87-0DE1-482F-A504-
> J'ai lu sur un forum que nous devons employé des Classes au lieu de
> Modules
> en Vb.Net. Les modules proviennent de VB6 et ne sont pas orienté objet
> 'OO'.
> Se servir de classes est la meilleure approche en VB.Net.

Si vous voulez recréer des "modules" dans VB.Net, le plus simple est de
mettre l'ensemble du code de votre module dans une classe, et déclarer
"shared" les fonctions utilisées. C'est méthodologiquement douteux d'un
point de vue POO, mais techniquement immédiat.

F.





Avatar
Francois Muller
"Annie L." a écrit dans le message de
news: 8E17338A-B93C-4CD7-89B9-
Que voulez-vous dire par douteux!!!!!!



Tout simplement que beaucoup de fonctions des modules, qui étaient
indispensable avec VB6 vu qu'on ne disposait pas de la notion d'héritage,
peuvent certainement s'implémenter comme méthode d'une classe de base, et
que si la solution fonctionne parfaitement elle n'est surement pas la plus
élégante. Rien d'autre.

F.
Avatar
Annie L.
J'aimerais avoir une meilleure explication plus approfondie de ce que vous
dites!
Je ne suis pas une experte en programmation!
Est-ce meilleure une classe ou un module?

Merci de vos réponses!

"Francois Muller" a écrit :


"Annie L." a écrit dans le message de
news: 8E17338A-B93C-4CD7-89B9-
> Que voulez-vous dire par douteux!!!!!!

Tout simplement que beaucoup de fonctions des modules, qui étaient
indispensable avec VB6 vu qu'on ne disposait pas de la notion d'héritage,
peuvent certainement s'implémenter comme méthode d'une classe de base, et
que si la solution fonctionne parfaitement elle n'est surement pas la plus
élégante. Rien d'autre.

F.






Avatar
PetitTrot
En principe c'est meilleurs une classe qu'un module.
Un peu comme c'est meilleurs de typer des variables que de dire que c'est un
objet ou un variant.
Un peu comme on évite autant que possible les variables globales.

Pourquoi c'est mieux une classe.
Avec une classe on a plus de chance de rendre les choses autonomes et
compréhensibles pour un tier.
Considérez cecit:
- si vous avez une classe, grâce à la notion d'Intellisense vous avez
une aide préciseuse vous et une autre personne qui a à travailler avec un
nouveau code.
- avec un module, vous êtes obligé de vous souvenir de toutes les
procédures
Je pense que vous comprenez ce que je veux dire: avec une classe vous avez
seulement le nom de la classe à connaitre, avec
un module vous devez tout connaître sur ce module.


"Annie L." wrote in message
news:
J'aimerais avoir une meilleure explication plus approfondie de ce que vous
dites!
Je ne suis pas une experte en programmation!
Est-ce meilleure une classe ou un module?

Merci de vos réponses!

"Francois Muller" a écrit :

>
> "Annie L." a écrit dans le message de
> news: 8E17338A-B93C-4CD7-89B9-
> > Que voulez-vous dire par douteux!!!!!!
>
> Tout simplement que beaucoup de fonctions des modules, qui étaient
> indispensable avec VB6 vu qu'on ne disposait pas de la notion


d'héritage,
> peuvent certainement s'implémenter comme méthode d'une classe de base,


et
> que si la solution fonctionne parfaitement elle n'est surement pas la


plus
> élégante. Rien d'autre.
>
> F.
>
>
>
>