Mi chiedo se qualcuno potrebbe spiegare l'ultimo paragrafo scritto in questo esempio su Dependency Inversion & Il disaccoppiamento.
Seguendo il codice di esempio, comprendere il ragionamento alla base del disaccoppiamento delle classi implementando una classe base va bene.
Quello su cui vorrei fare un chiarimento è l'ultimo paragrafo:
However, there is one problem with this implementation. We don’t have a main method. We > definitely need one in order to run our application, and somewhere in this main method we will need to instantiate the LocalVoteRecorder.
By instantiating the LocalVoteRecorder in our main method, we would break Rule #1 of Dependency Inversion. We have coded to the abstraction, we have integrated our changes, but our application would still have a dependency on a lower level class.
Significa che non è possibile creare un'applicazione veramente disaccoppiata? Come può essere che si possa scrivere un'applicazione disaccoppiata al 100%? È persino necessario, e ci sono delle migliori pratiche su cui potrei leggere.
Grazie mille