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

Autres Discussion :

couche métier ?


Sujet :

Autres

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 128
    Points : 122
    Points
    122
    Par défaut [résolu] couche métier ?
    Bonjour à tous.

    J'ai du mal à distinguer ce qui relève de la couche métier de ce qui relève de la couche d'accès aux données, ce qu'est exactement un objet métier et plus généralement comment bien architecturer un programme.

    Prenons un exemple. Au niveau de la couche de présentation, je souhaite récupérer une liste d'élèves ainsi que les examens que chacun d'eux a réussi (très pratique pour faire des liaison de données et limiter l'accès à la base). Je pensais récupérer cela avec la requête GetElevesAndExamens renvoyant une liste d'objets EleveAndExamens. Ce dernier dérive de l'objet Eleve avec une propriété en plus : une liste d'objets Examen.

    GetElevesAndExamens serait une méthode métier. Exact ?

    Voici les instructions (placées dans une transaction) que contiendrait cette méthode:
    1. appel à la méthode GetAllEleves de la couche d'accès aux données (DAL) pour récupérer la liste de tous les objets Eleve
    2. parcours de la liste des objets Eleve, pour construire une liste d'objets EleveAndExamens grâce au constructeur EleveAndExamens(Eleve)
    3. parcours de la liste des objets EleveAndExamens pour leur associer la liste des objets Examen renvoyés par la méthode GetExamensFromEleve (méthode DAL)


    Est-ce qu'une telle architecture vous parait farfelu ? classique ?

    Est-ce que EleveAndExamens est un objet métier au même titre que Eleve ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 56
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Pour répondre à ta dernière question, pour moi EleveAndExamens n'est pas ni une classe ni un objet métier.

    Tu à dans ce cas précis 2 objets métier Eleve et Examen, avec une relation 0..N entre les 2.

    Pour moi la couche de données doit fournir à la couche métier les méthodes nécessaire pour récupérer les données en fonction du contexte.
    Ta méthode de récupération de tout les élèves pour ensuite voir ceux avec un examen réussi me semble un peu "brutale".

    L'idée pour moi de la couche métier et de la couche donnée est que celle métier n'évoluera qu'en fonction des évolutions du métier, des règles de gestion et de la réglementation par exemple. Jamais elle ne doit être modifié en cas de changement de technologie notamment du SGBD.

    Pour ma part ma couche DAO récupère les données, les crée les objets métiers (avec leurs relations) et ensuite renvoi ca à la couche métier qui les utilise (règle, affichages, etc..)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 128
    Points : 122
    Points
    122
    Par défaut
    Salut Straahd. Désolé pour le délai.

    Citation Envoyé par Straahd Voir le message
    L'idée pour moi de la couche métier et de la couche donnée est que celle métier n'évoluera qu'en fonction des évolutions du métier, des règles de gestion et de la réglementation par exemple. Jamais elle ne doit être modifié en cas de changement de technologie notamment du SGBD.
    En fait, j'utilise des classes de connexion à la base et des classes de commandes indépendantes du SGBD.

    Citation Envoyé par Straahd Voir le message
    Pour ma part ma couche DAO récupère les données, les crée les objets métiers (avec leurs relations) et ensuite renvoi ca à la couche métier qui les utilise (règle, affichages, etc..)
    Merci. Je crois que le mieux pour moi serait de lire un manuel sur l'architecture logicielle en couche et un autre (le même ?) sur UML.

Discussions similaires

  1. Architecture couche métier <-> couche présentation
    Par bozo614 dans le forum Visual C++
    Réponses: 7
    Dernier message: 22/11/2007, 17h11
  2. [EJB] Architecture couche métier + packaging
    Par st0ne dans le forum Java EE
    Réponses: 2
    Dernier message: 26/10/2007, 10h57
  3. Relation entre EJB, couche métiers, JSP et servlet
    Par infinity21 dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 05/03/2007, 23h50
  4. Organisation Couche métier
    Par tatemilio2 dans le forum Hibernate
    Réponses: 1
    Dernier message: 08/09/2006, 14h29
  5. Couche métier = forcement EJB ?
    Par jothi35 dans le forum Java EE
    Réponses: 9
    Dernier message: 14/09/2004, 16h58

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