Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di bako
    Registrato dal
    Feb 2004
    Messaggi
    1,797

    [JAVA] Come dovrebbe essere scritta una classe

    Domanda concettuale, più che di java.
    La faccio con un esempio:
    Devo scrivere una classe che parsa un xml. Ora, da quel xml voglio estrarre più cose, diciamo:
    - una lista con tutti i campi nome
    - una lista con tutti i campi cognome
    etc etc.

    La buona scrittura di una classe java, è:
    - fare un metodo: getNomeList(nomefile) getCognomeList(nomefile) che fa quelle due operazioni distinte
    - fare un metodo parse(nomefile) o addirittura metterlo nel costruttore, e dopo, ricavare i risultati da una variabile globale di classe? es, nella classe ci sarà NomeList CognomeList e prendendo getNomeList() avrei tutti i nomi (il parse ha riempito quelle variabili).

    chiaro?
    c'è un metodo più giusto di utilizzare le classi?

    PS: quando utilizzare variabili di classe per salvare dati? è meglio salvare dati in variabili o creare funzioni che ritornino quel valore cercato senza salvare nulla in memoria?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Come dovrebbe essere scritta una classe

    Originariamente inviato da bako
    La buona scrittura di una classe java, è:
    - fare un metodo: getNomeList(nomefile) getCognomeList(nomefile) che fa quelle due operazioni distinte
    - fare un metodo parse(nomefile) o addirittura metterlo nel costruttore, e dopo, ricavare i risultati da una variabile globale di classe? es, nella classe ci sarà NomeList CognomeList e prendendo getNomeList() avrei tutti i nomi (il parse ha riempito quelle variabili).

    chiaro?
    c'è un metodo più giusto di utilizzare le classi?
    Io farei una cosa che a livello di utilizzo finale sarebbe del tipo:

    codice:
    ParserDati parser = new ParserDati();
    Dati dati = parser.parse("blabla.xml");
    
    // ... ottieni le informazioni da Dati ...
    Dove:
    1) Il costruttore potrebbe solo preoccuparsi di creare il parser e/o la factory del parser (a seconda di cosa si usa come API) e magari di inizializzare eventualmente altro che sia necessario. Insomma .. solo la "inizializzazione" dell'oggetto, niente parsing vero e proprio!
    2) parse() si preoccuperebbe solo di parsare il documento XML e di fornire un oggetto che "modella" in modo completo/appropriato i dati del documento. Per le eccezioni il metodo potrebbe anche lanciare al di fuori le eccezioni del parser ma se si vuole una maggior astrazione, sarebbe preferibile lanciare una apposita eccezione es. ParseDatiException (che eventualmente può usare l'exception chaining per "incapsulare" la eccezione di "basso" livello del parser).
    3) Da Dati si possono avere informazioni su tutti i dati. Qui chiaramente bisogna vedere la struttura del documento. Hai parlato di lista dei nomi e di lista dei cognomi. Sicuro che è appropriato? Non lo so ... dipende dal documento.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.