Sto studiando la dipendenza dall'iniezione in JavaScript. Ho imparato cosa devo realizzare, secondo Wikipedia,
The client delegates to external code (the injector) the responsibility of providing its dependencies. The client is not allowed to call the injector code.[2] It is the injecting code that constructs the services and calls the client to inject them. This means the client code does not need to know about the injecting code. The client does not need to know how to construct the services. The client does not need to know which actual services it is using. The client only needs to know about the intrinsic interfaces of the services because these define how the client may use the services.
Ma non sono sicuro di come dovrebbe essere fatto in JavaScript. Probabilmente potrei iniziare a creare ogni sorta di modi per iniettare dipendenze in JavaScript, far corrispondere "servizi" a "clienti" nella struttura del codice e soddisfare tecnicamente i termini di Principio di inversione delle dipendenze . Ma ciò non significa che sarebbe il modo migliore / corretto.
Per esempio, diciamo che ho un wheel
(servizio) che ha bisogno di ogni car
(client), insieme ai servizi: gasPedal
, break
, clutch
e stick
.
- Che aspetto dovrebbe avere un injector di dipendenza adeguato in JavaScript?
- Come si fa a iniettare la dipendenza senza chiamare il codice di iniezione dal client?
Nota: nessuna delle risposte finora ha riguardato l'esecuzione di manualmente . So che posso usare le librerie per farlo, quello che sto chiedendo - l'aspetto stimolante degli iniettori - è come crearli da zero, come sarebbe la struttura di uno, non come usare una libreria che li supporti .
Sto cercando di capire quale funzione per un iniettore sarebbe strutturata come per comprendere veramente l'iniezione di dipendenza nel suo nucleo - la funzione che implementa l'iniezione. Non sto chiedendo una funzione completa o un codice funzionante, solo una buona spiegazione o anche un esempio di pseudo-codice eccessivamente semplificato.