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

ASP.NET Discussion :

Architecture N-tier, qui doit remplir ?


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut Architecture N-tier, qui doit remplir ?
    Bonjour à tous,

    J'utilise pour mon site ASP.NET une architecture n-tier classique,

    DAL (Data Acces Layer)
    BLL (Business logic layer)
    BO (Business Object)
    Presentation.

    Je dois construire un objet métier Produit (de la BO), je récupère, 3 Champs de la base qui vont me permettre de construire mon objet, mais j'ai besoin d'encore un élément pour récupérer les images associées au produit, pour ceci je dois récupérer l'URI du serveur Image qui est stocké en base, le nom de l'image lui est une composition des 3 champs que je récup de la base.

    J'espère que je ne vous ai pas perdu lol, ma question est :

    Ou est ce que je dois appeler la méthode qui récup l'URI du serveur d'image ? (techniquement c'est très simple, mais d'un point de vue architecture, c'est où que je devrais faire mon appel ?)

    C'est dans la classe produit que je construit le nom de l'image, mais d'un point de vue architecture n-tier est il correcte d'appeler une méthode DAL dans un objet métier ? Il me semble que ça soit faux. Mais alors où ? Dans la DAL ? j'appelle une autre classe DAL, et je passe l'URI en param du constructeur produit ?

    La question est simple, mais difficile à formuler, j'espère que j'ai était claire.

    Merci d'avance.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    le plus propre serais de mettre la methode qui va cherche l info dans ta DAL, ensuite tu la recuperes et tu la traites grace a un autre objet dans ta couche bll et finalement tu t en sers dans ta bo.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par Arthis Voir le message
    le plus propre serais de mettre la methode qui va cherche l info dans ta DAL, ensuite tu la recuperes et tu la traites grace a un autre objet dans ta couche bll et finalement tu t en sers dans ta bo.
    C'est à dire que ma BO appel une méthode de bll ?
    Ou que ma bll appel le constructeur de ma BO ?

    Merci pour ta réponse
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Ce que je fais pour l'instant (pour tester) c'est :
    J'appelle dans mon constructeur Produit une méthode dans une DLL qui récupère d'un référentiel mon URI.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  5. #5
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    definitivement le premier . Ta Bo Doit appeler des methodes de ta couche Bll.
    Ta Bo doit se servir de methodes pour effectuer des ópérations. Ta bll n est pas au courant qu il existe quelqu un qui l utilise et ne doit jamais l'être ( sinon elle refuserait de bosser la feignasse )

  6. #6
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Personnellement j evite de mettre trop de chose dans mon constructeur. Je trovue cela plus souple d avoir une fonction load pour charger des infos si j en ai besoin.

    Maintenant, j essaierais aussi de reduire au maximum le couplage entre les objets. Et donc J essaierais surement d avoir un objet dans ma BLL qui appelerait les objets de ma couche DAL afin de creer un entite logique. Ensuite, j utiliserais cette entite logique dans mon BO afin qu il interagisse avec d autres objets de ma BLL.

    Apres prends toutes mes paroles , comme celles de quelqu'un qui apprend chaque jour aussi.

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par Arthis Voir le message
    Apres prends toutes mes paroles , comme celles de quelqu'un qui apprend chaque jour aussi.
    J'adore cette phrase

    Oui effectivement ta solution me semble plus propre que la mienne, je pense que je l'a mettrai en place et je te demanderai de confirmer ma compréhension en mettant ce que j'ai fais, si ça te dérange pas

    Merci pour tt.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

Discussions similaires

  1. Architecture 3 tiers : quelle est la véritable nouveauté ?
    Par unix27 dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 11/03/2007, 18h21
  2. [info] Architecture 3-tiers
    Par Shiryu44 dans le forum Servlets/JSP
    Réponses: 22
    Dernier message: 29/03/2005, 10h30
  3. [VB.NET] Architecture n-tiers
    Par Dnx dans le forum ASP.NET
    Réponses: 2
    Dernier message: 08/02/2005, 19h10
  4. formulaire qui doit appeler plusieurs pages
    Par rohel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/01/2005, 08h59
  5. [Design Patterns] Architecture 3 tiers
    Par HPJ dans le forum Design Patterns
    Réponses: 1
    Dernier message: 29/07/2003, 11h49

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