Ho alcune classi che rappresentano, per la maggior parte, dati deserializzati da XML. Hanno anche un certo comportamento in loro, perché non voglio soffrire di un modello di dominio anemico. Questi oggetti di dominio non hanno alcun codice XML specifico al loro interno, ma hanno proprietà che corrispondono esattamente ai tag e agli attributi nell'XML.
Molti comportamenti di queste classi si basano su risorse caricate dal disco, come le immagini. Per questo, alcuni attributi di proprietà / xml sono percorsi di file relativi a queste risorse. Ora iniziano i miei problemi. Il percorso assoluto da costruire per queste risorse è basato su una dipendenza separata - la radice del "progetto". Ecco a cosa sto combattendo:
-
I miei oggetti di dominio dovrebbero memorizzare il percorso assoluto completo delle loro risorse? O solo i percorsi relativi? Se hanno il percorso assoluto, le classi che li caricano - i miei lettori XML - dovranno prendere una dipendenza dalla radice del progetto per costruire il percorso completo per loro. Altrimenti, dovrò fare un altro livello di classi per gestirlo. Ho già 3 livelli, non so se posso più gestirli!
-
I miei oggetti di dominio dovrebbero memorizzare i propri percorsi per dove sono sul disco? Ha senso per loro sapere dove sono le loro dipendenze rispetto a loro, ma conoscere la loro posizione mi sembra semplicemente sbagliato in modo intuitivo. Questo è in qualche modo estraneo all'altra parte della domanda, ma penso che se mi fossi sbagliato in questo modo potrei mordermi più tardi.