Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Entendiendo la inyecci贸n de dependencias

5/17
Recursos

Aportes 8

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Nicolas, en este video tuviste un error de concepto. El Singleton Pattern no hace parte de los principios SOLID (S: Single Responsibility)鈥 de hecho, este patr贸n est谩 incluido dentro de los STUPID principles (Singleton, Tight Coupling, Untestability, Premature Optimization, Indescriptive Naming, Duplication), que es lo opuesto a SOLID.

Incluso, el Singleton viola el OPEN/CLOSE principle.

Example Singleton

El tema de la inyecci贸n de dependencias puede dar para un curso entero sobre patrones de dise帽o, principios SOLID y patrones de arquitectura.

Creo que el profe hizo un resumen lo mas corto posible para entenderlo y no verlo tan abstracto, pero me gustar铆a aclarar lo siguientes:

El origen es por los principios SOLID, tenemos la S que se refiere a 鈥楧ependency Inversion鈥 (Inversion de dependecias), que en pocas palabras quieres decir que un sistema flexible es aquel que se refiere a abstracciones.

La 鈥楧ependency Injection鈥 (Inyeccion de dependencias) es un patron de dise帽o que implementa el principio de 鈥楧ependency Inversion鈥 de los principios SOLID 馃槈

Para los que de pronto sientan dudas con el patr贸n singleton aqu铆 dejo el enlace de una clase con el buen Mauro, que en excelente Singleton Platzi Que hace parte del curso de buenas practicas para escribir c贸digo.

Entendiendo la inyecci贸n de dependecias

Patr贸n de Inyecci贸n de dependencias:

Es un principio de arquitectura donde nos permite desacoplar las cosas y simplemente un controlador por medio de su constructor puede decir que utiliza el servicio A o el servicio B

Un controlador puede inyectar mas de un servicio, tantos como quiera

Esto se logra a trav茅s del patr贸n singleton, lo que nos permite que una vez creada nuestra clase (servicio) la instancia de nuestro servicio se pueda utilizar para los dem谩s controladores, sin necesidad de crear varias instancias del mismo servicio.

Decorador @inyectable

Para que lo anterior funcione en NestJS todos nuestros controladores deben tener el decorador @inyectable que le indica a nestJSque debe manejar esto como una dependencia y cumplir con el patr贸n singleton

Un servicio solo pertenece a un Modulo

What?

Concepto SINGLETON

馃憦