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

Architecture Discussion :

Conception de classe pour site web


Sujet :

Architecture

  1. #1
    Invité
    Invité(e)
    Par défaut Conception de classe pour site web
    Bonjour,

    j'ai souvent le meme probleme sur les projets web, je n'arrive pas a concevoir mes classes de la bonne manière.C'est à dire :
    - maintenable (pas de copie de code)
    - bien séparé en couche (la couche metier ne doit pas se soucier du travail qu'a fait la couche donnée, ni meme l'appeler)
    - performant : ne pas charger des donnée qu'on utilisera pas.

    Imaginons une interface ou j'ai la liste de mes clients avec leur adresse, je vais avoir donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Client
    --Id Client
    --Nom
    --Adresse
    ----Ville
    ----CP
    ----Rue
    Maintenant j'ai une interface ou j'ai la liste des client avec les livres qu'ils ont acheté, qu'est ce que je fait ?

    1/ Je crée une nouvelle classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ClientPourListeAchat
    --Id Client
    --Nom
    --Livres[]
    ----ID
    ----Nom
    Avantage : je ne charge pas l'adresse pour rien
    Inconvénients : Mes classes sont conçues selon mon UI, y'a de la redondance dans le code, la maintenabilité est pourrie.

    2/ Je rajoute Livres[] a la première classe
    Avantage : J'ai tout dans une classe, c'est plus maintenable
    Inconvénients : je charge l'adresse pour rien, ou si je la charge pas, je fait sot du lazy loading et c'est nul, soit je fait en sorte de ne l'utiliser que quand je sais que je suis passé par la bonne méthode de ma DAL, mais c'est nul aussi

    3/ Je fait un système d'héritage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ClientBase
    --ID
    --Nom
    
    ClientAvecLivre : ClientBase
    --Livres[]
    
    ClientAvecAdresse : ClientBase
    --Adresse
    Avantage : maintenable a mort, tout est bien séparé, je charge pas des données pour rien
    Inconvénient : Qu'est ce que je fait si je veux un objet client avec les livre ET l'adresse ? Etant donné que l'héritage multiple est pas possible dans la majorité des langage orienté objet (selon mon expérience jusque la).

    4/ ?? j'espère vraiment que y'a une solution que j'ai pas vu.

    PS : désolé pour le titre du topic, c'est pas facile ^^

  2. #2
    Invité
    Invité(e)
    Par défaut
    pour ceux que ça interesserai, j'ai eu des réponse sympa sur stack overflow :

    http://stackoverflow.com/questions/2...tion-about-oop

Discussions similaires

  1. [Débutant] Difficultée dans la conception d'une classe pour service web
    Par Nixeus dans le forum C#
    Réponses: 4
    Dernier message: 21/07/2012, 12h15
  2. Diag classes UML pour site WEB
    Par tha87 dans le forum Diagrammes de Classes
    Réponses: 4
    Dernier message: 07/05/2009, 13h39
  3. Kit d'administration pour site web
    Par tarzanjane dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 07/06/2006, 15h48
  4. [FLASH 8] Horloge en flash pour site web
    Par dimitrimm972 dans le forum Flash
    Réponses: 3
    Dernier message: 03/04/2006, 16h43
  5. Réponses: 5
    Dernier message: 23/08/2005, 07h47

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