A voir également:
- Convertir ArrayList vers TreeMap
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Windows 7 vers windows 10 - Accueil - Mise à jour
- Convertir epub en kindle - Guide
- Clavier qwerty vers azerty - Guide
- Convertir youtube en mp3 avec audacity - Guide
2 réponses
Bonjour,
"Désolé pour la longueur du poste"
Aucun problème, s'il pouvait être tous aussi détaillé le forum serait bien plus agréable à lire :-)
"Voilà, je suis un peu perdu dans la découpe de mon code"
Tout d'abord il semble que la notion d'objet ne soit pas bien comprise, que ce soit "FileToTreeMap" ou "ReadSymptomDataFromFile", on est plutôt sur un nommage de méthodes, pas de classe.
S'il devait y avoir un objet ici, ce serait Symptom. Certes le fait qu'il soit assimilable à un String pourrait rendre la classe superflue, mais il n'empêche que pour ta conception de code et la manière de la découper c'est autour de la notion de Symptom que les classes devraient graviter, pas autour des File ou des Map qui les manipulent.
Pour reprendre la structure de l'interface ISymptomReader, je te suggère de créer la classe SymptomReader et d'y placer toutes les méthodes de lecture de Symptom, que ce soit celles te donnant une List ou celles te donnant une Map.
Par exemple :
"Désolé pour la longueur du poste"
Aucun problème, s'il pouvait être tous aussi détaillé le forum serait bien plus agréable à lire :-)
"Voilà, je suis un peu perdu dans la découpe de mon code"
Tout d'abord il semble que la notion d'objet ne soit pas bien comprise, que ce soit "FileToTreeMap" ou "ReadSymptomDataFromFile", on est plutôt sur un nommage de méthodes, pas de classe.
S'il devait y avoir un objet ici, ce serait Symptom. Certes le fait qu'il soit assimilable à un String pourrait rendre la classe superflue, mais il n'empêche que pour ta conception de code et la manière de la découper c'est autour de la notion de Symptom que les classes devraient graviter, pas autour des File ou des Map qui les manipulent.
Pour reprendre la structure de l'interface ISymptomReader, je te suggère de créer la classe SymptomReader et d'y placer toutes les méthodes de lecture de Symptom, que ce soit celles te donnant une List ou celles te donnant une Map.
Par exemple :
package com.hemebiotech.analytics; import java.io.*; import java.nio.file.*; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; public class SymptomReader implements ISymptomReader { private final Path path; public SymptomReader(String filePath) { path = Paths.get(filePath); } @Override public List<String> getSymptoms(){ try { return Files.readAllLines(path); } catch (IOException e) { throw new UncheckedIOException(e); } } public Map<String, Long> getSymptomsCount(){ try { return Files.lines(path).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); } catch (IOException e) { throw new UncheckedIOException(e); } } public static void main(String[] args) { SymptomReader reader = new SymptomReader("D:/symptoms.txt"); System.out.println(reader.getSymptoms()); System.out.println(reader.getSymptomsCount()); } }