Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.java > #1595

Re: Aide pour une stratégie de programmation.

From Yliur <yliur@free.fr>
Newsgroups fr.comp.lang.java
Subject Re: Aide pour une stratégie de programmation.
Date 2017-11-09 09:15 +0100
Organization Groupes francophones par TrigoFACILE
Message-ID <20171109091546.54256f71@free.fr> (permalink)
References <59fc966a$0$20429$426a34cc@news.free.fr> <20171107150354.5dc0969f@free.fr> <5a03af3a$0$7158$426a74cc@news.free.fr>

Show all headers | View raw


Le 09 Nov 2017 01:28:26 GMT
bloiiing <bloiiing.invalid@yahoo.com> a écrit :

> Yliur wrote:
> 
> > Réfléchir d'abord aux données et à leur représentation en mémoire,
> > indépendamment de l'interface, peut t'aider à éviter de lier la
> > construction de cette interface à ce que tu veux faire des données,
> > il sera ensuite plus facile de faire évoluer les fonctionnalités du
> > logiciel).
> >  
> 
> C'est une très bonne idée. Je pense que je vais créer une classe
> Chapitre, mais ses attributs risquent de varier dans le temps...
> Ensuite je pourrais mettre ces objets dans un Vector par exemple.
> Ensuite il y aura tout le travail pour utiliser ces données. Si je
> fais ça, lorsque je modifierai le texte d'un JTextPane est-ce que ce
> texte sera modifié également dans l'objet Chapitre contenu dans le
> vecteur? Je pense que oui mais j'ai simplement un doute.

Non : la représentation des données en mémoire est indépendante de leur
représentation graphique.

Tu peux faire le lien manuellement comme ça : tu crées les composants
graphiques à droite pour l'édition d'un chapitre (un seul jeu de
composants pour tous les chapitres), quand un utilisateur clique sur le
chapitre dans l'arborescence tu copies les données à éditer dans les
composants d'édition à droite, quand il arrête l'édition de ce
chapitre tu recopies les données du composant d'édition dans les objets
de données.

Tu peux aussi faire quelque chose de plus automatique, comme variante
du paragraphe précédent : intercepter l'événement indiquant que le
texte d'une zone de saisie a changé et modifier l'objet de données
correspondant (il faut donc un lien vers l'objet de données
représentant le chapitre en cours d'édition).

La solution retenue peut dépendre de ce que tu veux faire des données :
par exemple si tu veux pouvoir faire en même temps que l'édition d'un
chapitre une recherche dans l'ensemble des chapitres, celui-ci compris,
mieux vaut que les données soient à jour dans les objets de données. Si
au contraire tu veux que l'utilisateur puisse valider/annuler l'édition
d'un chapitre, il peut être plus simple de ne recopier les données du
composant graphique dans l'objet de données que lors de la validation
(bien qu'on pourrait faire autrement aussi). À toi de voir comment tu
manipules tes données.


> > Donc par exemple tu peux avoir une classe java représentant un
> > chapitre, avec des attributs pour les notes, synopsis et corps.
> > Ensuite il faut te demander comment sauvegarder et recharger ces
> > données dans des fichiers (ou une base de données, mais j'ai
> > l'impression que tu ne penses pas faire grand chose d'autre que les
> > charger/enregistrer). Et, indépendamment de ça, tu peux te demander
> > comment créer l'interface graphique permettant de modifier ces
> > données. Ce dernier point n'a rien à voir avec la sauvegarde et il
> > ne devrait pas y avoir de lien entre les questions sur l'interface
> > et les questions sur la sauvegarde. Par exemple à un moment donné
> > dans l'interface il n'y a que trois zones de texte affichées, en
> > créer un grand nombre (trois par chapitre) n'est pas forcément une
> > bonne idée (note que si ça ne concerne que des chapitres, donc
> > quelques dizaines par ouvrage, ce ne serait sans doute pas si
> > violent que ça d'un point de vue performances ; mais à la base ce
> > que tu veux en parallèle ce sont des chapitres stockés en mémoire,
> > pas leur représentation graphique, et ce serait utile pour ta
> > conception de bien séparer ces deux idées).  
> 
> Je vais essayer comme ça. Effectivement je n'ai pas besoin d'utiliser
> une base de données. Je vais me lancer et je te dis merci pour tes
> idées. Ça devrait être bon normalement.
> 
> Merci à toi. Je reviendrai peut-être en cas de problèmes.

De rien, n'hésite pas à poser tes questions.

Back to fr.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-03 16:16 +0000
  Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-07 15:03 +0100
    Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-09 01:28 +0000
      Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-09 09:15 +0100
        Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-11 13:48 +0000
          Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-11 18:33 +0100
            Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-14 03:39 +0000
              Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-14 12:27 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-15 03:48 +0000
                Re: Aide pour une stratégie de programmation. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2017-11-15 08:44 +0100
                Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-15 09:10 +0100
                Re: Aide pour une stratégie de programmation. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2017-11-15 09:31 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-17 01:45 +0000
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-15 04:45 +0000
                Re: Aide pour une stratégie de programmation. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2017-11-15 09:44 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-17 01:33 +0000
                Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-15 09:57 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-17 01:24 +0000
                Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-17 08:32 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-19 06:08 +0000
                Re: Aide pour une stratégie de programmation. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2017-11-19 08:38 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-19 12:27 +0000
                Re: Aide pour une stratégie de programmation. Samuel DEVULDER <samuel-dot-devulder@laposte-dot-net.invalid> - 2017-11-20 01:33 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-20 20:51 +0000
                Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-19 10:13 +0100
                Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-19 10:51 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-19 12:20 +0000
                Re: Aide pour une stratégie de programmation. Yliur <yliur@free.fr> - 2017-11-19 14:42 +0100
                Re: Aide pour une stratégie de programmation. bloiiing <bloiiing.invalid@yahoo.com> - 2017-11-19 15:55 +0000

csiph-web