Sto cercando di migliorare le mie capacità e conoscenze di programmazione e ho letto alcuni dei modelli di design e dei video di YouTube, ecc.
Un argomento che ho ritenuto interessante era che Singletons era un Anti-pattern
che mi ha portato a un problema che non sono abbastanza sicuro di come risolvere. Permettimi di spiegare.
Diciamo che ho creato una libreria di classi GPS. Nella libreria ho una classe chiamata GpsSensorUtil
. Questa classe fa tutto ciò che ha a che fare con l'elaborazione di dati GPS come l'elaborazione di velocità, distanza, ecc. E genera eventi con queste informazioni.
Quindi ora sto pensando hey, forse voglio vedere le informazioni GPS visivamente. Così creo un UserControl
nella libreria che ascolterà gli eventi di GpsSensorUtil
.
Il problema a cui sto pensando è come posso collegare GpsSensorUtil
a UserControl
in modo che UserControl
possa ascoltare gli eventi da GpsSensorUtil
?
In un'applicazione normale guarderei in DependancyInjection
magari con Unity
, ma poi dovrei trovare un modo per inizializzare e configurare il UnityContainer
in quanto non esiste un punto di ingresso in una libreria di classi.
Ho pensato di creare come un singleton un riferimento statico per il contenitore ma, come ho letto, non è una buona cosa.
Nella mia testa occorre considerare quanto segue.
-
GpsSensorUtil
non sa diUserControl
e non ne ha bisogno. -
UserControler
non ha bisogno di conoscereGpsSensorUtil
, solo gli eventi che genera. - Chiunque potrebbe utilizzare questa libreria, quindi non voglio limitarmi a un solo IoC come unità.
Qual è il modo migliore per avvicinarsi a qualcosa del genere?