Dino Geek, intenta ayudarte

¿Cómo hacer inyección de dependencia en JavaScript?


En JavaScript, la inyección de dependencias se puede lograr de varias formas. A continuación se muestra un sencillo ejemplo de cómo se podría hacer mediante un “constructor” o una “función fábrica”.

Constructor Injection:

```javascript
class Foo { constructor(bar) { this._bar = bar; }

doSomething() { this._bar.doSomethingElse(); } }

class Bar { doSomethingElse() { console.log(‘Bar hizo algo’); }
}

const myBar = new Bar();
const myFoo = new Foo(myBar);
```

En este caso, la clase `Foo` es dependiente de una instancia de la clase `Bar`. Por lo tanto, en lugar de crear `Bar` dentro de `Foo`, lo creamos fuera y lo pasamos (inyectamos) a `Foo` al instanciarlo.

Factory Function Injection:

```javascript
function createFoo(bar) { return { doSomething: function() { bar.doSomethingElse(); } };
}

const myBar = { doSomethingElse: function() { console.log(‘Bar hizo algo’); }
};

const myFoo = createFoo(myBar);
```

En este caso, la function `createFoo` es una “función fábrica” que crea y devuelve un objeto. Esta función toma `bar` como parámetro y lo usa dentro del método `doSomething` del objeto que crea.

Estos ejemplos son maneras bastante simples de lograr la inyección de dependencias en JavaScript. En un proyecto más grande o más complejo, es posible que desees usar un framework o una biblioteca que pueda manejar la inyección de dependencias para ti, como Angular, que tiene un sistema de inyección de dependencias incorporado.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso