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 :

Plusieurs objet metier en un


Sujet :

ASP.NET

  1. #1
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut Plusieurs objet metier en un
    Bonjour,

    Je dois afficher des donnes ds un gridview, ces donnees proviennent de plusieurs objets metiers. j'ai donc un objet metier qui contient plusieurs objets metiers, ce qui m'embetes est de tous charger hors que j'ai juste besoin de qqs proprietes de chaque objets metiers.

    que me conseilleriez vous ?

    merci

  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
    au choix :

    1) de faire du lazy loading pour chacun de tes objets metiers et leur propriétés
    2) si ta requete est trés gourmande en ressources de faire quelque chose de particulier à cette requete afin de retrouver tes données

  3. #3
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    As tu une doc sur le lazy loading ?

  4. #4
    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

  5. #5
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Dans l'exemple suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    public class Order{    
    private int _OrderId = 0;    
    private int OrderId    {        
    set { _OrderId = value; }        
    get { return _OrderId; }    
    }    
    private Customer _Customer = null;    
    public Customer Customer    {        
    get        {                
    if (_Customer == null)                
    _Customer = Customer.GetCustomerByOrderId(_OrderId); // Lazy loading the Customer            
    return _Customer;        }        
    set { _Customer = value; }    }
    }
    Cela veut dire que Customer.GetCustomerByOrderId(_OrderId); doit faire appel a la couche metier ?

  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
    j ai toutjours ete mauvais avec ce vocabulaire de couche metier, business et tout le tralala.. Moi ce que j'en ferais mais je n'ai pas non plus enormement d'experience avec ce genre de trucs,c 'est un service qui me creerait un objet et qui irait demander á la couche de données toutes ses informations. C'Est ca la couche métier?

  7. #7
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    La couche accees aux donnees (select * from user) remplis les objets metiers (user)
    La couche metier va appeler la/les methodes de la couche accees aux donnees afin de recuperer l'objet user afin d'y operer d eventuelles traitements.
    L UI va appeler la methode metier sans se soucier de qulle bdd il s agit.....

    Par consequent l'objet metier User (contient toutes les prop) qui ont ete renseignes dans la couche acces aux donnees.

    C'est pour cela que ca me parait etrange que l'objet metier doit appeler une methode de la couche metier

  8. #8
    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
    je ne vois pas ce qu il y a d'etrange la dedans. Moi c'est mes objets services qui creent des objets metiers en allant taper dans des repository ( couche de données).

    Ensuite, mon UI traites ces objets metiers pour les afficher comme bon lui semble. Mes objets metiers ne contiennent presque aucune fonction. tout est empaqueter dans les objets services.

    Maintenant, il y aura des langues plus expertes que moi pour te détailler le top du top , j'en suis sur.. Bon courage à toi en tout cas, a+

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    J'aurais fait un objet minimal avec les propriétés que je suis sûr d'avoir besoin dans tous les cas (dont l'affichage de la GridView) et qui charge les données minimales puis j'aurais étendu cette objet pour avoir un (ou plusieurs) objet étendus qui chargent plus (voir toutes) les données. Bien entendu, il faut ensuite passer par une Factory pour construire correctement (et de façon optimale) les objets et non pas passer par un constructeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public class OrderRef {
       public OrderId { get; set; }
    }
     
    public class Order : OrderRef {
       public Customer Customer { get; set; }
    }
    On peut également ajouter une méthode pour obtenir un Order depuis un OrderRef.

  10. #10
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Ce qui m'embete c'est que dans ma DAL je reference le projet ou se trouve tous les objects metiers, par consequent je ne peuxpas dans mon projet objet metiers referencer ma DAL !!!!!

  11. #11
    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
    Dans ta couche metier, tu ne fais pas appel a ta dal, mais à l'interface qui permet d'accèder a ta dal.

  12. #12
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Entre mes differentes couches je ne passe pas par des Interface, mais je vais sans doute faire alors.

  13. #13
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    L'interface elle est egalement dans le projet DAL, donc ca ne changera pas mon probleme

  14. #14
    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
    Fais tes interrfaces dans ton projet metier alors..

    [edit] on a le meme nombre de messages maintenant... hé hé! [/edit]

  15. #15
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Ah oui cool, et pourtant j'avais 3 mois d'avance sur toi ;o)

    Sinon je ne peux pas mettre mes interfaces DAL dans le projet Metier ?!?
    Comment decoupes tu tes projets dans ta solution ?

  16. #16
    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
    je ne suis pas un bon moi j'ai qu une seule librairie avec tout dedans dans des repertoires séparés...

    J'ai deja réussi à avoir un bibliotheque de classe dans mon projet web et cela a été une petite révolution dans ma boite...

  17. #17
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Je ne sais pas comment faire alors !!!!! Car pour l'instant ma dal et bll reference mes objects metier, donc de mes objets metier je ne peux pas referencer ma dal et bll !!!!!

  18. #18
    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
    Lutecefalco aurait surement une réponse pour toi je pense. Je me rappelle qu il parlait du découpage de ses applis web en plusieurs projets..

  19. #19
    Membre éprouvé
    Avatar de topolino
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 901
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 901
    Par défaut
    Esperons qu il passe par ici.

    Merci à toi

  20. #20
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Hum ... si on est logique :

    Le client (interface graphique etc.) utilise les objets métiers qui utilise la couche d'accès aux données ... donc le référencement devrait être client référence objets métiers référence couche d'accès aux données (et pas le contraire). C'est le concept de base d'une architecture n-tier : le client n'a pas à avoir accès direct à la couche d'accès aux données et doit pouvoir totalement ignorer comment sont persistés les objets à l'intérieur de celle-ci.

    Cas concret : sur une application, je clique sur "Ajouter nouveau client" ... l'application créé un nouveau client (de la couche objet métier), renseigne les différentes informations puis effectue une sauvegarde du client (en appelant une méthode de la couche métier qui appele de façon transparente pour le client la couche d'accès aux données).

    Les interfaces entre objets métiers et couche d'accès aux données n'ont d'intérêt que si on peut avoir plusieurs couches d'accès aux données (par exemple, base de donnée, fichier xml etc.). Si c'est un développement où on est sûr de toujours utiliser SQL Server par exemple, c'est du temps de développement perdu.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. appeller plusieurs objets
    Par alex01pernot dans le forum Delphi
    Réponses: 2
    Dernier message: 08/10/2006, 12h42
  2. [C#] Plusieurs objets en Remoting
    Par davestar dans le forum Windows Forms
    Réponses: 2
    Dernier message: 24/07/2006, 15h04
  3. m3g : utilisation de plusieurs objets en même temps
    Par chabfive dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 23/06/2006, 14h00
  4. Requêtes : recherche de maxi sur plusieur Objet
    Par pertuis dans le forum Langage SQL
    Réponses: 6
    Dernier message: 08/03/2004, 15h28
  5. Comment mettre plusieurs objets ds un composant ?
    Par Fleury dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/05/2003, 17h34

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