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

Codes sources à télécharger Java Discussion :

Implémentation d'un panier


Sujet :

Codes sources à télécharger Java

  1. #1
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut Implémentation d'un panier
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Implémentation d'un panier

    Je propose une implémentation en java d'un panier (caddy) permettant de d'ajouter et supprimer des articles.

    Le principe retenu est celui d'une liste de ligne (code quantité prix)

    Qu'en pensez-vous ?
    Développeur Java
    Site Web

  2. #2
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Tu gagnerais un peu en utilisant une HashMap<Integer, LignePanier> pour stocker tes lignes panier et y accéder : tes méthodes getArticle et supprimerArticle en seraient plus simple et éviteraient de parcourir toute la liste à chaque opération

    Sinon, moi je ferais en sorte de recalculer le total du panier à chaque modification du panier, vu que c'est une information qu'on va afficher plus qu'on ne va modifier les éléments du panier


    Sinon, en terme purement conception : ta classe LignePanier représente un article et un nombre d'éléments. Pourquoi ne pas faire une classe Article qui posséderai le prix et les autres caractéristiques propres à un article, et dans ta classe LignePanier, tu n'aurais plus que l'article correspondant à la ligne et le nombre d'élements correspondants. Ce qui te permettrai au final de ne plus avoir besoin d'une classe LignePanier, mais juste d'une HashMap<Article, Int> qui pour chaque article te donne la quantité commandée


    Un truc de ce genre :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    public class Panier {
    	private Map<Article, Integer> articles;
     
    	Panier() {
    		this.articles = new HashMap<Article, Integer>();
    	}
     
    	public void ajouterArticle(Article art, int qte) {
    		Integer quantity = articles.get(art);
    		if (quantity == null){
    			quantity = Integer.valueOf(0);
     
    		}
    		quantity = Integer.valueOf(quantity.intValue()+1);
    		articles.put(art, quantity);
    	}
     
    	public void supprimerArticle(Article article){
    		 articles.remove(article);
    	}	
     
    	public int calculerPanier() {
    		int total = 0;
    		Iterator<Entry<Article, Integer>> il = this.articles.entrySet().iterator();
    		while (il.hasNext()) {
                            Entry<Article, Integer> entry = il.next();
    			total += entry.getKey().getPrix() * entry.getValue().intValue();
    		}
    		return total;
    	}
    }
    Je ne suis pas mort, j'ai du travail !

  3. #3
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Oui, un HashMap est plus efficace, mais la liste ne fait pas 2km, dans un panier on ne met pas des tonnes d'achat.
    Et en plus, je manipule dans une ligne qu'une référence et une quantité.

    Tu as raison, un Article est une classe à faire apparaître dans la prochaine version

    Merci
    Développeur Java
    Site Web

  4. #4
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Disons que passer par une HashMap permet aussi d'écrire moins de code et donc d'être plus feignant pour les mêmes performances
    Et j'aime être un bon feignant...

    Si tu veux aller plus loin, au lieu d'utiliser une classe Article, tu peux aussi utiliser une interface Valuable qui aurait une seule méthode déclarée : getPrice()...
    Comme ça, tu fais fais un panier de n'importe quoi qui aurait un prix ! (et tu ne force par l'utilisation d'une classe ou d'une hiérarchie)
    Je ne suis pas mort, j'ai du travail !

  5. #5
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Oui, ta deuxième approche comportementale me plait bien.
    Je sens que je vais vraiment m'intéresser à ce langage
    merci eulbobo !
    Développeur Java
    Site Web

  6. #6
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Citation Envoyé par kevinternet Voir le message
    Tu as raison, un Article est une classe à faire apparaître dans la prochaine version
    Arrête de développer Kevin tu es mature à souhait pour devenir chef de projet
    Développeur Java
    Site Web

  7. #7
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Citation Envoyé par kevinternet Voir le message
    Oui, ta deuxième approche comportementale me plait bien.
    Je sens que je vais vraiment m'intéresser à ce langage
    merci eulbobo !
    He oui, Java est beaucoup plus pro que PHP. devient java dev ne perd plus de temps
    Développeur Java
    Site Web

  8. #8
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Citation Envoyé par autran Voir le message
    He oui, Java est beaucoup plus pro que PHP. devient java dev ne perd plus de temps
    compte supprimé, 2 derniers messages à ignorer
    Développeur Java
    Site Web

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/07/2004, 12h03
  2. Réponses: 8
    Dernier message: 04/06/2004, 10h13
  3. Moteur physique : comment l'implémenter ?
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 17/12/2003, 13h56
  4. Réponses: 2
    Dernier message: 06/07/2002, 13h36
  5. Implémentation des fonctions mathématiques
    Par mat.M dans le forum Mathématiques
    Réponses: 9
    Dernier message: 17/06/2002, 17h19

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