Attualmente sto creando un problema durante la creazione del design del programma, che è esatto come una relazione File-Directory, e per facilitarla, sto usando questo come esempio.
Credo che è usuale, che una Directory
ha una collezione del suo File
dei casi.
Prendo questo assioma come un pò, mi corregga se questo non è usuale . < br>
Ma quando ci sono eventi che si verificano su un file e la directory vuole essere notificata con tali cambiamenti, il file deve avere un riferimento alla sua directory in qualche modo:
- A) Il modo diretto:
La classeFile
ha un riferimento alla sua istanzaDirectory
. - B) Tramite callback / gestione degli eventi:
La classeFile
ha un riferimento a una funzione della sua istanzaDirectory
.
O
- C) Il
Directory
controlla le proprietà diFile
in un intervall.
Odio davvero questa 'soluzione' perché penso che non sia male da morire.
Sia (A, B) modi creano un dipendenza circolare (molti svantaggi) e richiedono l' Directory
di File
per istanziare prima di se stesso, a meno che pigro-Init File
s riferimento (dovrei?).
Quindi, come vengono progettate le relazioni tra file e directory? Hanno una dipendenza circolare, un controllo dell'intervallo, usano lazy-init ...?