1
00:00:00,210 --> 00:00:06,030
Bien, en el ejemplo anterior vimos la anotación Primary para marcar una clase como primaria para que

2
00:00:06,030 --> 00:00:09,570
se pueda inyectar sin indicar el nombre del componente.

3
00:00:09,720 --> 00:00:11,010
Pero qué pasa si quiero?

4
00:00:11,100 --> 00:00:17,610
Quiero utilizar la mayoría de las veces el componente anotado con Primary, pero en una que otra parte

5
00:00:17,700 --> 00:00:20,820
de nuestra aplicación utilizar la otra implementación.

6
00:00:20,940 --> 00:00:23,460
Cómo lo hago para inyectarla si no es primaria?

7
00:00:23,580 --> 00:00:27,950
Bueno, para eso utilizamos los calificadores o cualificar.

8
00:00:28,050 --> 00:00:35,730
Entonces en el ejemplo, mi servicio complejo no es el primario, pero si mi servicio es tanto con primary,

9
00:00:36,180 --> 00:00:40,620
pero quiero inyectar mi servicio complejo que no es por defecto.

10
00:00:40,800 --> 00:00:43,740
Bueno, tiene un nombre mi servicio complejo.

11
00:00:43,920 --> 00:00:46,170
Puedo inyectar a través del nombre.

12
00:00:46,350 --> 00:00:48,240
Nos vamos al INDES Controller.

13
00:00:48,420 --> 00:00:51,870
Nos vamos al atributo debajo del auto Weres.

14
00:00:53,490 --> 00:01:01,830
Con cualificar importamos y con las comillas indicamos el nombre de componente que queremos inyectar.

15
00:01:01,890 --> 00:01:03,000
Mi servicio complejo.

16
00:01:03,390 --> 00:01:10,290
Esto permite seleccionar también a través del nombre para inyectar el componente específico que implementa

17
00:01:10,410 --> 00:01:11,160
la interfaz.

18
00:01:11,280 --> 00:01:12,390
Vamos a guardar.

19
00:01:12,810 --> 00:01:13,680
Levantamos.

20
00:01:18,630 --> 00:01:22,440
Vamos al navegador ejecutando un proceso importante, complicado.

21
00:01:22,500 --> 00:01:23,010
Perfecto.

22
00:01:23,120 --> 00:01:26,880
Ahora inyectó mediante el calificador a través del nombre.

23
00:01:27,080 --> 00:01:30,180
Bien, esto se complementa bastante con Primary.

24
00:01:30,330 --> 00:01:35,970
Por lo tanto, podemos tener un componente por defecto que se va a inyectar sin indicar el cual y fallar

25
00:01:35,970 --> 00:01:42,130
sin indicar el nombre solamente con el auto widget y lo demás componentes concreto que queremos inyectar.

26
00:01:42,240 --> 00:01:45,390
Tendríamos que indicar el nombre mediante el calificador.

27
00:01:45,780 --> 00:01:46,660
Otra alternativa.

28
00:01:46,800 --> 00:01:54,180
Bien, ahora también podría utilizar quali fallar sin usar la notación primary, como por ejemplo en

29
00:01:54,270 --> 00:01:55,170
mi servicio.

30
00:01:55,710 --> 00:02:02,700
Voy a comentar primare bueno y tengo que dar un nombre al componente que sea por defecto.

31
00:02:03,030 --> 00:02:11,850
Por ejemplo, mi servicio principal, por ejemplo, este va a ser mi componente por defecto principal

32
00:02:11,940 --> 00:02:13,320
o primario como le queramos llamar.

33
00:02:14,250 --> 00:02:20,550
Entonces, siempre en los controladores y en la clase que utilicemos este componente siempre cliffhanger

34
00:02:20,670 --> 00:02:22,200
apunta al nombre.

35
00:02:22,350 --> 00:02:23,430
Mi servicio principal.

36
00:02:24,500 --> 00:02:31,040
Entonces, si quiero hacer un switch entre un componente y otro, simplemente le cambio el nombre por

37
00:02:31,100 --> 00:02:32,690
mi servicio principal.

38
00:02:33,440 --> 00:02:37,580
Vamos a guardar y en el navegador va a inyectar mi servicio.

39
00:02:38,120 --> 00:02:40,850
Actualizamos mi servicio simple.

40
00:02:40,940 --> 00:02:41,480
Perfecto.

41
00:02:41,600 --> 00:02:44,990
Ahora, si quiero hacer un switch a mi servicio complejo.

42
00:02:45,050 --> 00:02:49,010
Bueno, tendría que renombrar los nombres del componente.

43
00:02:49,730 --> 00:02:57,950
Por ejemplo, acá mi servicio complejo lo cambio por mi servicio principal y este mi servicio simple.

44
00:03:01,730 --> 00:03:07,910
Entonces con este cambio inyectar mi servicio complejo, ya que es el principal con ese nombre.

45
00:03:09,200 --> 00:03:14,540
Actualizamos algún proceso importante, complicado, que sería ahora nuestro principal.

46
00:03:14,630 --> 00:03:22,010
Se fijan y no utilizamos la notación primary solamente auto whittier y qualy falla, pero siempre manteniendo

47
00:03:22,010 --> 00:03:29,330
un nombre por defecto principal para nuestro servicio y renombrado según queramos que sea el componente

48
00:03:29,330 --> 00:03:33,190
por defecto que vamos a inyectar en nuestro controladores o no ahora.

49
00:03:33,290 --> 00:03:39,680
De todas formas, creo que utilizando Primary en combinación con cualificar es mucho mejor.

50
00:03:39,830 --> 00:03:43,820
Marcamos Primary como por defecto tal como lo teníamos.

51
00:03:45,280 --> 00:03:50,140
Y mantenemos los nombres de los componentes, cada uno de forma independiente

52
00:03:52,900 --> 00:03:53,830
y en el controlador.

53
00:03:54,730 --> 00:04:00,610
Quitamos el calificar, inyectamos el componente que está anotado con Primary guárdanos.

54
00:04:03,000 --> 00:04:08,130
Entonces, para finalizar, hay diferentes combinaciones y soluciones para implementar lo mismo.

55
00:04:08,400 --> 00:04:09,720
Por ahora nada más.

56
00:04:09,810 --> 00:04:10,470
Nos vemos.
