Mi chiedo solo se quello che sto facendo è un design in qualche modo scadente.Java: tutto in una classe è statico - è ragionevole?
Ho una lista di cose. Ho bisogno che questa lista esista sempre. Ho solo bisogno di avere una di queste liste. Ho anche alcuni metodi per interagire con questo elenco. Di conseguenza, ho reso tutto statico.
Il fatto è che poiché tutte queste cose sono nascoste in una singola classe, letteralmente tutto in quella classe viene dichiarato statico. Il che sembra un po 'strano, perché è come se volessi che l'intera classe fosse statica.
I fatti che Java non mi consente di creare un'intera classe statica e che mi è stato insegnato a ridurre al minimo i metodi statici nel mio codice sono la causa di alcuni campanelli d'allarme nella mia testa, ma onestamente non riesco a vederli ragione razionale perché quello che sto facendo non funzionerà bene.
EDIT: Un po 'di più sul programma e sul perché ho deciso di fare quello che ho fatto, perché immagino che sarebbe di aiuto (e fu chiesto, ovviamente).
Il centro del programma sono due database, uno per gli articoli e un altro per i caratteri. I caratteri devono avere una poszione temporanea di oggetti, ma tutti gli elementi devono poter essere elencati in qualsiasi momento.
Ho deciso di disporre di un arraylist di elementi, ogni elemento con un valore booleano disponibile o non disponibile (facilitando la visualizzazione di tutti gli elementi e gli elementi disponibili). Ogni personaggio avrebbe il proprio arraylist di oggetti più piccolo, al quale aggiungerei duplicati dell'articolo dal database.
Per poter accedere al database da altre classi (questo è il punto in cui ho iniziato con l'idea), ho considerato la mia opzione più semplice per rendere statico il grande arraylist perché non esiste alcuna situazione in cui io abbia bisogno di non esistere e non c'è nessuna situazione in cui ho bisogno di più di uno. Ovviamente, mentre creavo la lista statica, avevo bisogno di rendere statici anche tutti i metodi di base per interagire con esso.
Sono abbastanza sicuro che ci sono modi migliori per fare ciò che sto cercando di fare, ma sono solo un principiante che pratica.
EDIT2: Oh, e l'elenco di elementi verrà aggiunto a, rimosso da e gli elementi modificati durante l'esecuzione del programma. Un altro effetto dei personaggi che ricevono copie di oggetti è che i loro oggetti rimarranno gli stessi finché li avranno.
modello Singleton? – Patashu
Tutto in 'Math',' Objects', o 'Arrays' è statico, quindi non c'è nulla di intrinsecamente sbagliato in esso. Potresti provare a cercare il modello singleton e vedere se questo è quello che stai cercando – nullptr
Singleton è spesso considerato un anti-pattern, qualcosa da cercare di evitare. –