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

Windows Forms Discussion :

[VB.NET]Besoin de précision pour architecture 3-tiers


Sujet :

Windows Forms

  1. #1
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut [VB.NET]Besoin de précision pour architecture 3-tiers
    bonjour,

    je voudrais créer une application en 3-tiers qui dispose donc d'une couche applicative et une couche d'accès aux données qui pourrait instancier selon la base de donnée avec laquelle on voudrait travailler.

    un cas tout bête :

    lors d'une form_load, on va remplir une datagrid avec les données de la DB.

    j'aurai tendance a directement instancier la couche d'accès aux données directement dans la form_load... or en faisant ceci, je ne respecte pas la règle de l'architecture 3-tiers.

    et une dernière question est ce qu'en faisant ceci (voir code plus bas), le fait d'instancier la couche d'accès aux données en lui précisant un paramètre va instancier pour une base de donnée spécifique?

    d'avance, merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        Public Sub New(ByVal dbType As Integer)
            Select Case dbType
                Case 1 'SQL
                    connectionString = New SQLConnection("user id = test;password = test;server=server_db;database=BroadcastIT_Bible")
                Case 2 'ACCESS
     
                Case 3 'ORACLE
     
            End Select
        End Sub

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ici tu as besoin d'une classe Metier qui est en fait un composant d'accès aux données, par exemple
    http://nx.developpez.com/articles/dac/
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    pfiouuuuuuuuuuuuuuuuuu comme c'est compliqué!!!!

    qu'en est-il de la couche métier?

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Ben tu crois peut être que c'est pas compliqué ce que tu veux
    Une classe capable de te fournir:
    • 1. au moins une connexion (quelquesoit le provider)
      2. au moins un dataadapter quelquesoit la base de données
      3. au moins une commande appropriée aux données quelqu'elles soient

    Non le tuto n'est pas compliqué mais il explique toutes les étapes possibles pour la dev de ce type de composant, prends que ce qui t'interresse
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  5. #5
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    Tu tyrouveras un exemple VB6 bien expliqué là
    http://rp.developpez.com/vb/tutoriels/troistiers/

    Si ton code d'ouverture est dans ton formulaire ce n'est pas bon. Tu dois normalement avoir tes informations de connexion dans la couche métier et l'objet Connection dans la couche données.

  6. #6
    Dnx
    Dnx est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 290
    Points : 154
    Points
    154
    Par défaut
    très très bonne doc! merci

    normalement, la couche métier ne doit pas connaître les contrôles graphiques de la couche GUI.

    et donc où je place les contrôles sur les controles graphiques?
    je m'explique

    si on a 2 textbox, dans quelle couche tester si les textbox ont été saisies ou pas.

    moi je partirai de ce principe :

    j'envois les données des 2 textbox à la couche métier et elle traite juste le code retourné.

    ca le fait?

  7. #7
    Expert éminent
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Points : 7 962
    Points
    7 962
    Par défaut
    La rêgle qui prévaut toujours est la sécurité.
    Et la sécurité indique que la validation doit toujours être réalisée avant que les données ne parcours le code donc au niveau du formulaire et même mieux au niveau du contrôle quand c'est possible. Tu ne dois jamais envoyer des données non validées dans ta couche métier.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Citation Envoyé par neguib
    Une classe capable de te fournir:
    • 1. au moins une connexion (quelquesoit le provider)
      2. au moins un dataadapter quelquesoit la base de données
      3. au moins une commande appropriée aux données quelqu'elles soient
    :)
    Une classe c'est dur, mais un framework y a toujours NHibernate :)

    (dès qu'ils auront réparé leur page :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  9. #9
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Maniak
    Citation Envoyé par neguib
    Une classe capable de te fournir:
    • 1. au moins une connexion (quelquesoit le provider)
      2. au moins un dataadapter quelquesoit la base de données
      3. au moins une commande appropriée aux données quelqu'elles soient
    Une classe c'est dur, mais un framework y a toujours NHibernate

    (dès qu'ils auront réparé leur page
    Oui pardon je voulais dire une bibliothèque de classes
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. Besoin de précision pour module DBD::mysql
    Par mensoif dans le forum SGBD
    Réponses: 7
    Dernier message: 10/08/2009, 12h50
  2. Besoin de précision pour un code
    Par emirej dans le forum Débuter
    Réponses: 2
    Dernier message: 01/04/2008, 09h34
  3. cherche aide (précisions) pour architecture client lourd
    Par newyou dans le forum Général Java
    Réponses: 4
    Dernier message: 20/06/2007, 15h09
  4. [Vb.net] Besoin d'aide pour générer des graphs
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 2
    Dernier message: 12/12/2006, 18h33
  5. [VB.NET] besoin d'aide pour déchiffrer un code
    Par pcdj dans le forum Windows Forms
    Réponses: 10
    Dernier message: 27/06/2006, 11h32

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