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

Design Patterns Discussion :

Design Pattern ou pas ?


Sujet :

Design Patterns

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 43
    Points : 35
    Points
    35
    Par défaut Design Pattern ou pas ?
    Bonjour,

    Voila, je suis à la recherche d'une solution sur un de mes développement et je voulais savoir si un design pattren pouvez s'appliquer.
    Dans mon application j'ai des produits, de "type" différents. les types de produits ont des caractéristiques différentes (couleur / pour un vétement, editeur / pour un livre, ... ) mais également commune (nom, résumé, ...).
    Les caractéristiques sont "typées". c'est à dire qu'on peut avoir des caractéristiques oui/non/absence, entier, décimal, date, texte, sélection parmi une liste de valeurs (unique ou multiple).

    je sais qu'il ne faut pas y penser tout de suite mais ces caractéristiques pourront faire l'objet de critères de recherche pour filtrer les produits. si le nombre de produits est trés importants, il faudra avoir une recherche relativement performante (j'ai pas les moyens de me payer le serveur d'Ebay)

    je pense que c'est un problème récurrent dans beaucoup d'application donc il doit bien exister un design pattern ou une méthode qui s'applique.

    Si vous connaissez une solution...
    Merci d'avance, Julien C.

  2. #2
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 76
    Points : 89
    Points
    89
    Par défaut
    Je ne suis pas sur que tu sois à la recherche d'un design pattern. Pour moi, ce que tu évoque est simplement la programmation objet.

    Dans mon application j'ai des produits, de "type" différents. les types de produits ont des caractéristiques différentes (couleur / pour un vétement, editeur / pour un livre, ... ) mais également commune (nom, résumé, ...).
    Admettons que nous ayons des vêtements et des livres. Les vêtement ont une couleur, les livres ont un titre. Mais les deux ont un prix, et un code barre.
    Dans ce cas, j'ai une classe "Produit". La classe a comme attribut le prix et le code barre. Le vêtement et le livre sont des produits spécifiques (ie. ils héritent de Produit). Le Vêtement a un attribut couleur, tandis que le Livre a un titre.

    Les caractéristiques sont "typées". c'est à dire qu'on peut avoir des caractéristiques oui/non/absence, entier, décimal, date, texte, sélection parmi une liste de valeurs (unique ou multiple).
    Dans les langages objets, les attributs sont généralement typés.

    je sais qu'il ne faut pas y penser tout de suite mais ces caractéristiques pourront faire l'objet de critères de recherche pour filtrer les produits.
    La classe Produit pourra avoir une fonction compareTo. Ainsi, on pourra faire livre1.compareTo(livre2) . Du coup on pourra trier. Attention cependant aux tris livre.compareTo(vêtement).

    si le nombre de produits est trés importants, il faudra avoir une recherche relativement performante
    Là tu auras besoin d'une base de données...

    Au vu de tes questions, il me semble que l'application que tu souhaites développer dépasse tes capacités techniques actuelles. Si c'est un site de e-commerce, tu as tout interêt à te tourner vers des solutions existantes...
    Des gens comme vous vous parlent de leurs journées. Leurs problèmes, leurs solutions sont ils les mêmes que les vôtre ?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut Key Value Pair = KVP ou property pattern
    Je voterais pour le 'property pattern' tel que décrit ici: http://steve-yegge.blogspot.com/2008...n-pattern.html
    -W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 43
    Points : 35
    Points
    35
    Par défaut
    je pense que je vais me pencher sur le 'property pattern'. la page est longue et en anglais mais je pense que ca correspondrait pas mal.

    sinon par rapport à la réponse de Heziva:
    en fait c'est ce que je veux éviter. si j'ai 100 produits de type différent je ne peux (veux) pas faire 100 classes différentes. si j'ajoute un type de produit je ne veux pas avoir à coder à nouveau, tester, compiler, repousser en ligne, ... ( c'est pour un site ) c'est un peu fastidieux. je recherche quelque chose d'un peu "générique".

    après, je ne suis pas certain de pouvoir implémenter le pattern property facilement dans django, le framework web que j'aimerais utiliser.

    merci pour vos réponses.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  2. Les Designs Patterns Entreprise
    Par boulon dans le forum Design Patterns
    Réponses: 4
    Dernier message: 01/09/2004, 19h16
  3. [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