Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16

Discussione: Classe enum di Mesi

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Per esempio, avevo 3 classi: Città, Continenete e Radiazione.
    A me queste 3 classi mi servivano singolarmente per i sinoli oggetti che rappresentano ma anche nell'insieme per determinarmi un pathname.
    Quindi per evitare il proliferare di classi , ho messo tutto in un'unica classe:
    codice:
    public class PercorsoDirectory {
        
        private String continente;
        private String citta;
        private String data;
    
        public String getContinente() {
            return continente;
        }
    
        public void setContinente(String continente) {
            this.continente = continente;
        }
    
        public String getCitta() {
            return citta;
        }
    
        public void setCitta(String citta) {
            this.citta = citta;
        }
    
        public String getData() {
            return data;
        }
    
        public void setData(String data) {
            this.data = data;
        }
    Anche in questo caso concettualemnte è sbagliato?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Per esempio, avevo 3 classi: Città, Continenete e Radiazione.
    A me queste 3 classi mi servivano singolarmente per i sinoli oggetti che rappresentano ma anche nell'insieme per determinarmi un pathname.
    Quindi per evitare il proliferare di classi , ho messo tutto in un'unica classe:
    codice:
    public class PercorsoDirectory {
        
        private String continente;
        private String citta;
        private String radiazione;
    
        public String getContinente() {
            return continente;
        }
    
        public void setContinente(String continente) {
            this.continente = continente;
        }
    
        public String getCitta() {
            return citta;
        }
    
        public void setCitta(String citta) {
            this.citta = citta;
        }
    
        public String getRadiazione() {
            return data;
        }
    
        public void setRadiazione(String radiazione) {
            this.radiazione = radiazione;
        }
    Anche in questo caso concettualemnte è sbagliato?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Concettualmente si, continui a sbagliare un po' di robe (e a reinventare la ruota).
    Allora il path name è un concetto che già Java tratta, soprattutto se consideri che alla fine tu hai una serie di stringhe che concatenandole ti danno un percorso su file system. In teoria potresti tenerti un array di Path ( http://docs.oracle.com/javase/7/docs...file/Path.html ) per poter tranquillamente tenere tutte le info.

    Per quanto riguarda invece la tipologia di informazioni:

    1. hai il nome della città (al max puoi creare un oggetto che rappresenta la città, con altre info tipo lo stato, azimuth e altre robe): tutte queste info sono legate dal fatto che identificano in maniera univoca una città, quindi è logico associarle alla classe City
    2. hai l'elenco delle rilevazioni
    3. se vuoi proprio un accesso rapido, ti tieni il path name

    credo che i tuoi oggetti sono modellizzati (come ti dicevo 3 settimane fa)

    tieni conto che la tua struttura deve essere indipendente dal file, a te arrivano le info, se concatenandole ottieni un URL o un percorso su file system per te è del tutto indifferente.
    RTFM Read That F*** Manual!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Quindi dovrei stutturare tutto quanto in base alla struttura delle informazioni che voglio come output?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    480
    Ok benissimo
    Ti ringrazio

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    No, nemmeno in base all'output che vuoi.
    Fermati un secondo e rifletti: che cosa mi rappresentano le informazioni che ho a disposizione?
    Un elenco di rilevazioni associate ad una città.
    Per la città ho in più informazioni come latitudine, longitudine, azimuth ecc.
    Come ti arrivano a te non importa, al momento della modellizzazione non è un tuo problema. Sai che ti arriveranno questa serie di informazioni e pensa gli oggetti in modo da rappresentare queste info.
    Ha senso parlare di City con dentro il nome e le coordinate. Le coordinate costituiscono un oggetto a se stante, ti tengono latitudine, longitudine, azimuth etc.

    Poi ti interessa mese per mese (hai la tua enum Month che ti dice di quale mese si parla) la rilevazione, quindi avrai

    Rilevazione

    1. Month
    2. City
    3. elenco rilevazioni
    4. path assoluto al file (se proprio vuoi)

    elenco rilevazioni, ogni rilevazione ha una Data (Date va più che bene) e valore.

    Ho modellizzato i dati in modo indipendente dal punto di partenza e in modo indipendente dal punto di arrivo.

    Poi sai che devi avere queste info? Torna l'interfaccia che ti avevo fatto, quindi hai un metodo che legge da uno stream (che crea quindi l'input) e un metodo in grado di scrivere su stream (se vuoi ad esempio riscrivere l'info in un altro posto): come leggi e come scrivi non sono fatti che riguardano la tua modellizzazione.

    Avrai poi una classe FileUtils che implementa l'interfaccia che ti avevo fatto e che quindi dato il file name, ti crea questa struttura dati.
    Puoi avere una classe WebUtils che implementa la stessa interfaccia, ma lavora con dati via rete, come vedi il principio è generico.

    Se poi i tuoi dati li stampi a video, li butti su file, li elabori non importa: hai creato una serie di classi per contenerli.
    RTFM Read That F*** Manual!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.