Mi riferisco al libro di Robert C. Martins "Architettura pulita" nella parte superiore della pagina 318.
Lì afferma:
In the ports and adapters approach, the
OrdersService
andOrders
interfaces have inbound dependencies from other packages, so they need to be madepublic
. Again, the implementation classes can be madepackage protected
and dependency injected at runtime.
Comprendo appieno l'intenzione di rendere più protetti i componenti protetti anziché pubblici.
La mia domanda è: come possono essere implementate le implementazioni package protected
( internal
in C #) se devono essere iniettate in dipendenza? In che modo la composizione root può accedere a questi tipi per registrarli con il contenitore IoC?
O c'è una differenza tra package protected
in Java e internal
in C #?
O forse sto interpretando male la sua affermazione?