Sto scrivendo del codice per analizzare alcuni file (che io chiamo "assets"), e ho intenzione di strutturarlo come tre classi: AssetParser
, NamespacesParser
e TransfomersParser
. AssetParser
utilizzerà gli oggetti delle altre due classi per analizzare alcune parti delle risorse.
Voglio scrivere questo come tre classi piuttosto che una grande classe per dividere la funzionalità in frammenti gestibili (cioè io uso qualcosa come la programmazione strutturata, dove i metodi di AssetParser chiamano i metodi delle altre due classi)
La mia domanda: dovrei usare dependency injection per creare oggetti di NamespacesParser
e TransformersParser
classes?
Le parti del parser sono strettamente accoppiate al parser. A mio parere, è altamente improbabile che AssetParser
utilizzi altri subparser al posto di NamespacesParser
e TransformersParser
. Quindi sembra che l'iniezione di dipendenza non sia necessaria qui. (Posso usare solo new
per creare oggetti di NamespacesParser
e TransformersParser
.)
Uno dei motivi per usare l'iniezione di dipendenza è che permette facilmente di creare NamespacesParser
e TransformersParser
singletons (se voglio usare i singleton). Ci sono altri motivi?