IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Demande avis utilisation procédure shared


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut Demande avis utilisation procédure shared
    Bonjour la communauté,

    Cela fait longtemps que je n'étais pas venu, mais j'ai repris le travail depuis...
    Je commence donc un nouveau boulo, et j'intègre une équipe qui développe plusieurs programmes en VB.NET, qui suis une architecture en couche.

    - Pour faire simple coté utilisateur: il y la couche Interface qui attaque une couche intermédiaire (BP) (qui elle même attaque la couche WCF du serveur).
    - Coté serveur: il y a donc puis un serveur (WCF) qui attaque la BL (business layer), puis la couche d'accès au données (DL).

    Sauf que, je crois que le responsable du projet ne comprends pas très bien le fonctionnement de la programmation en couche et en classe. En fait, pour chaque fenêtre de l'interface, il créer une classe dans chaque couche, pour ranger les fonctions qui y sont utilisées. (et encore je simplifie).

    Bon on pourrait dire pourquoi pas. Sauf que: TOUTES les classes, sont shared, donc au lieu de créer une instance de classe on fait un truc du genre:
    BP.MaFonction(). Lorsque l'on fait cela, un système regarde si la classe est instanciée, si elle ne l'est pas elle l’instancie. Toutes les fonctions des classes fonctionnent de manière autonome (en utilisant des paramètres donc), comme ci toutes les couches n'étaient en fait que des modules.

    Pire: dans l'interface, on a ajouter une référence à la couche BL, et comme les classes (elle n'est une classe que par son nom) sont shared, du coup ils appellent parfois directement la couche BL depuis l'interface.

    Alors, il y a bien sur plein de problèmes de logique, d'organisation, de compréhension etc....
    Mais en plus de cela, je trouve le logiciel particulièrement lent.
    Et j'ai essayé de debuger un bout de programme... Et le debugage par dans tout les sens, passant d'une fonction a une autre et ainsi de suite, comme si ca avait créer un multithread de fou qui ne sait plus ou donner de la tête.

    Ma question est donc la suivante: est ce que vous pensez qu'avec cette utilisation des couches et des classes shared, les appelles sont ils asynchrones, ce qui expliquerait le debugage ne cesse de changer de couche et de classe.

    J'essai de trouver des arguments pour pouvoir le moment venu, expliquer pourquoi faire des modifications dans l'architecture et la méthode... Donc vous pouvez vous lâcher !

    Merci d'avance

  2. #2
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut reponse
    Bon alors, je pense m'être trompé sur le fait que les procédures shared fonctionnent en asynchrones.

    Enfin, disons que c'est parce qu'on passe par une couche serveur qui fait que quand je debug en local il va dans toutes les couches.

    Mais à l'appel d'une fonction d'une couche supérieur, le fonctionnement normal ne devrait il pas être synchrone ?

  3. #3
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Premièrement, Shared n'a rien à voir avec le fait qu'une méthode soit asynchrone ou synchrone. Comme tu l'as écrit dans ton premier post, Shared permet de n'avoir qu'une seule instance de la classe disponible pour toute l'application.

    Sans rentrer dans de trop grandes considérations, si toutes les classes sont Shared, on peut dire que l'application est extrêmement mal architecturée. Il faudrait connaître plus en détail l'historique du projet et le projet en lui-même pour savoir pourquoi est-ce que ton équipe en est arrivée là, mais ce qui est sûr, c'est que la personne en charge de l'architecture est complètement à côté de la plaque.

    Pour répondre à ta question, il est normal que tu sois baladé de partout en débuggant. De plus, il a sûrement fallu faire face à des problèmes de concurrence, donc vu ce qui a été fait, il ne serait pas étonnant de trouver des rustines assez bizarres dans le code...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  4. #4
    Membre Expert Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Par défaut reponse
    Oui merci de me confirmer cela (pour l'asynchrone).

    Quand à l'architecture, va falloir convaincre... je sens que ça va pas être facile. LE projet est pourtant tout neuf, quel dommage.
    Je marque en résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ADO.NET]Sur quels critères utiliser procédures stockées?
    Par Oberown dans le forum Accès aux données
    Réponses: 3
    Dernier message: 06/04/2006, 16h16
  2. [VB.NET] Demande avis sur organisation fichiers
    Par arno2000 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/03/2006, 09h13
  3. Projet IUT informatique: Demande avis sur clé USB...
    Par ChrisMan dans le forum Périphériques
    Réponses: 8
    Dernier message: 18/03/2006, 10h28
  4. [Sécurité] Demande avis sur risque de spam.
    Par psychoBob dans le forum Langage
    Réponses: 7
    Dernier message: 15/03/2006, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo