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

2D Java Discussion :

Créateur de map (j'aimerais y aller pas à pas)


Sujet :

2D Java

  1. #21
    Membre régulier Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Points : 123
    Points
    123
    Par défaut
    C'est ce que j'essaie de faire depuis le début.
    Mais seul et sans prof, c'est pas si facile que ça

  2. #22
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Cadeau: http://bruce-eckel.developpez.com/li...aduction/tij2/

    (c'est une version un poil ancienne, par exemple pas de référence aux generics et autres bestioles de ce genre, mais elle suffit plus que largement pour s'initier à la POO en java)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #23
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Reprenons le type de base List<Layer> (car comme Sinok te l'a dis utiliser une liste t'evite de devoir gerer manuellement certaines choses comme ce qu'il faut faire lorsque tu retires un elements d'un tableau ou que tu rajoutes qq chose et que ton tableau est trop petit).

    Il existe de base au moins 2 implementations de List (j'oublie Vector volontairement) : ArrayLis et LinkedList.
    • ArrayList, c'est un tableau encapsule dans une liste, cad que c'est la liste et pas toi qui gere le probleme des trous (calque enleve) ou le redimensionnement (changement de capacite). Comme tous les elements sont dans un tableau, un acces a un element d'indice i est tres rapide, en cas de parcours dans une boucle on peut donc se permettre d'acceder au ieme element sans probleme. Par contre en cas d'ajouts ou de suppression important(e) d'elements, il se peut que le tableau soit realloue a une nouvelle capacite (la capacite de la liste ce n'est pas la meme chose que la taille de la liste) et qu'il y ait une recopie des elements depuis l'ancien conteneur vers le nouveau (donc ca c'est lent).
    • LinkedList, c'est une liste chainee constitue de cellules independantes reliees entre elles par des references. Ici l'ajout suppression d'elements est rapide puisqu'il n'y a pas d'allocation de nouveau tableau en cas de changement de capacite (en fait il n'y a pas de capacite du tout). L'acces a des element d'indice i sont par contre plus lent car il faut parcourir la liste et sauter de reference en references. Donc, en cas de parcours, on privilegiera un parcours via un iterateur, plutot qu'un parcours qui accede a un element d'indice particulier.


    Donc ces deux variantes de la liste sont a utiliser dans des cas precis quand on sait que l'on peut gagner en optimisation, par exemple :
    • on utilisera LinkedList lorsqu'on ne connait pas a l'avance le nombre d'elements a inserer dans la liste mais qu'on est sur d'avoir beaucoup d'insertions : par exemple lors du chargement de fichier de definition.
    • une fois le chargement effectue, on recopira le contenu dans une ArrayList, ce qui permet d'assurer un acces rapide. Meme si l'utilisateur peut ajouter / supprimer des calques via la GUI en general ca reste des operation effectuees en petites quantites donc il n'est pas critique d'essayer d'optimiser (trop) les changements de capacite de la liste.


    Dans les deux cas, de toute maniere, on utilisera l'interface List, les methodes qu'elles contient sont suffisantes dans la plupart des cas.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #24
    Membre régulier Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Points : 123
    Points
    123
    Par défaut
    En cherchant ce matin en lisant un peu des designs et patterns, je me suis rendu compte qu'il existais bien des choses ressemblant à ceci.

    Classe mère titre = new Classe enfante();
    Donc, je me dis qu'ensuite c'est une histoire de propriété à utilisé.

    En poursuivant mes investigations, j'ai commencé à regroupé les différentes fonctions nécessaire au composants. Je vais donc pouvoir lancé un UML rapidement

    Je vous montrerais ce qu'il en est et je retoucherais ce qu'il y aura à retoucher.

    J'ai fais un choix drastique de mettre tout ce qui concerne ma classe composant, commandes manuelles, point dans le même package. Ainsi chaque fonctions sont faites pour le package et le tout est complet.

  5. #25
    Membre régulier Avatar de Caxton
    Homme Profil pro
    Sans
    Inscrit en
    Janvier 2005
    Messages
    586
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Janvier 2005
    Messages : 586
    Points : 123
    Points
    123
    Par défaut
    Je reviens un peu par ici afin d'exposé mon uml.

    Donc en me penchant un peu sur qui devais faire quoi, en simplifiant à l'extrême (j'ai volontairement pas tout représenté, car il y a des points soumis à discussions), j'ai établi ce diagramme.



    On aperçois deux interfaces. La première gère les couches de calque, la seconde les affiche et inter-agit avec l'utilisateur au travers de menu flottant. (on y reviendra car il faut aussi que je l'implémente).

    J'espère être sur la bonne voie pour réalisez mon composant qui sera dans un package de façon à pouvoir le réutiliser dans d'autres logiciels.

Discussions similaires

  1. [Google API Maps] Carte qui ne s'affiche pas
    Par Mister Jingles dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 08/12/2013, 19h27
  2. Map et generics, ça ne passe pas
    Par DevServlet dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 22/09/2011, 16h40
  3. Contactée par une SSII à 31 ans : y aller ou pas ?
    Par lafeedesbois dans le forum SSII
    Réponses: 17
    Dernier message: 10/07/2007, 21h07
  4. Réponses: 27
    Dernier message: 25/08/2004, 22h30
  5. Réponses: 3
    Dernier message: 09/10/2002, 11h35

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