Molte volte è necessario caricare risorse esterne nel programma, che si tratti di elementi grafici, campioni audio o stringhe di testo.
C'è un patten per gestire il caricamento e la gestione di tali risorse?
Ad esempio: dovrei avere una classe che carica tutti i dati e poi chiamarla ogni volta che ho bisogno dei dati? Come in:
GraphicsHandler.instance().loadAllData()
...//and then later:
draw(x,y, GraphicsHandler.instance().getData(WATER_IMAGE))
//or maybe
draw(x,y, GraphicsHandler.instance().WATER_IMAGE)
O dovrei assegnare ciascuna risorsa alla classe a cui appartiene? Come in (ad esempio, in un gioco):
Graphics g = GraphicsLoader.load(CHAR01);
Character c = new Character(..., g);
...
c.draw();
In generale, quale di questi due è la soluzione più solida?
GraphicsHandler.instance().getData(WATER_IMAGE)
//or
GraphicsHandler.instance().WATER_IMAGE //a constant reference