Sfondo
Sto considerando un progetto che include una classe API pubblica contenente molte classi private nidificate. Lo sto facendo per i seguenti motivi:
- Perché il nesting privato? Non avranno alcuna utilità per altre classi tranne che per la mia classe API pubblica.
- Perché le classi in primo luogo? Gli oggetti rappresentati hanno una notevole quantità di funzionalità che devono essere le loro classi.
- Perché molte classi? La funzionalità di ciascuna delle classi nidificate è troppo diversa l'una dall'altra per essere derivata da un singolo tipo di classe.
Domanda
Con tutto ciò che viene affermato sopra, questa pratica progettuale dovrebbe essere considerata "composizione" nel senso più stretto della parola?
Direi di sì, perché rappresento un sistema "part-of", in cui le classi private sono parte della classe API pubblica e non esisteranno mai al di fuori della durata della classe API. Detto questo, per qualche ragione penso che potrebbe esserci qualcosa di sbagliato qui. Voglio solo essere sicuro.