Ho un'applicazione java / swing nella struttura MVC (si spera buona). Ecco una panoramica delle mie classi di modelli:
Unoopiùworker
spuòfunzionareadunworkinglocation
eunworker
puòfunzionarea%diversoworkinglocation
s(nonallostessotempo,ovviamente).Aworker
puòaverediversitipididate
assegnati.Ilworkinglocation
haunelencodituttiisuoiworker
s.Ognidate
haunriferimentoalsuoworker
.Tuttiglioggettidelmodellosonomodificabili.
PerscopidigestionehoimplementatounDatabase.java
cheèresponsabileperl'archiviazionedelleclassidelmodellonelleclassidiraccoltajavaealprogrammachiusurasalvandotuttiglioggettiinunfilexml(iousoList<Working location>
, List<Worker>
e List<Date>
. Quindi la procedura è:
- Carica il file xml all'avvio del programma
- Aggiungi / modifica / rimuovi oggetti modello in / in / da database (lavorando con le raccolte di Database.java
- Salva tutti gli oggetti modello dalle raccolte Database nel file xml all'uscita programma
(Se c'è qualcosa di brutto nel mio modo di pensare fino ad ora, per favore dimmi un modo migliore! Lo apprezzerò molto.)
Ecco la domanda:
Qual è il modo corretto di identificare gli oggetti modello?
Posso pensare a due possibilità:
- Utilizza riferimenti a oggetti
- (+) Non esiste un codice aggiuntivo per gestire la generazione di nuovi ID univoci
- (-) "Everyone" può modificare gli oggetti (perché questo è un progetto privato "Everyone" significa solo me)
- Utilizza ID univoci per ogni oggetto
- (-) altro codice
- (+) database può restituire copie degli oggetti del modello da modificare e solo quando il controllore chiama i metodi del database con gli oggetti del modello copiati che saranno aggiornati
Modifica
C'era una parte importante che ho dimenticato di menzionare: multi-threading e multi-utente A entrambi è sicuramente possibile rispondere con "No". L'applicazione sarà una sorta di un software di pianificazione utente per sostituire l'attuale "pianificazione della carta e penna". Direi che il requisito principale è quello di evitare di iscrivere i lavoratori in vacanza che sono in vacanza o di non dimenticare gli addetti al bilancio che tornano dalle vacanze il giorno successivo. Perché questi sono gli errori che spesso accadono.
Inoltre non c'è bisogno di un'analisi più approfondita degli oggetti del modello e quindi non c'è bisogno di query di database complesse al momento . Pertanto mi piace l'idea di utilizzare XML per creare un'applicazione standalone. O c'è una buona ragione per far esplodere il codice per soddisfare requisiti improbabili?