In termini di buon design OOP, qual è il modo migliore per strutturare il codice che è solo un contenitore di un elenco di oggetti che contiene altri elenchi di oggetti che sono anche solo altri contenitori?
Esempio: un libro di ricette possiede un elenco di capitoli che possiede un elenco di ricette che possiede un elenco di indicazioni stradali. Ogni oggetto è uno strato diverso all'interno di un intero. Per chiarezza, uso la parola "elenco" per fare riferimento a qualsiasi struttura dati utilizzata per memorizzare più oggetti.
Mi sono imbattuto più volte in questo problema con la bambola russa di oggetti annidati all'interno di oggetti nidificati. Ho provato a passare gli oggetti di livello inferiore attraverso la gerarchia dei nidi e ho anche provato a scrivere metodi che trasmettono le informazioni all'oggetto nidificato inferiore. La mia struttura si sente sempre in disordine perché le classi intermedie sono piene di metodi che non fanno altro che passare oggetti o informazioni.
Un'aggiunta dovuta alla confusione espressa nei commenti: Sto cercando una direzione nelle cose da studiare per gestire un tipo generale di problema. Non sto chiedendo una soluzione per un problema di codifica specifico che ho di fronte a me. Non mi aspettavo una "sola risposta per domarli tutti", ma più di "usare un modello di progettazione per le situazioni X ma usare il modello di progettazione B per le situazioni Y e fare attenzione alla Z". L'esempio è per fornire un contesto generale, non specifico.