1
00:00:00,120 --> 00:00:00,610
Bienvenidos.

2
00:00:00,630 --> 00:00:03,660
Continuamos con el patrón Observer, observador en español.

3
00:00:03,780 --> 00:00:08,400
Es un patrón de diseño que define una dependencia entre objeto de uno a muchos.

4
00:00:08,490 --> 00:00:15,090
Cuando el objeto principal dice que se está observando, cambia su estado, notificÃ, te cambio a todos

5
00:00:15,090 --> 00:00:17,580
sus objetos dependientes de forma automática.

6
00:00:17,700 --> 00:00:19,860
Los sujetos dependientes son los observadores.

7
00:00:19,980 --> 00:00:22,730
El que cambia el estado y que están escuchando están pendiente.

8
00:00:22,740 --> 00:00:25,310
Los observadores es el sujeto.

9
00:00:25,320 --> 00:00:29,190
Se le conoce como sujeto o observable quien está siendo observado.

10
00:00:29,280 --> 00:00:31,110
Por eso se le conoce como observable.

11
00:00:31,230 --> 00:00:36,930
Es un patrón de diseño del tipo comportamiento, pero también estructural por las relaciones entre objetos

12
00:00:37,050 --> 00:00:42,630
o clases, pero también de comportamiento porque define el cómo se comunican entre ellos.

13
00:00:42,810 --> 00:00:44,010
Bien, veamos el ir a una clase.

14
00:00:44,130 --> 00:00:50,280
Acá tenemos el sujeto que se le conoce como observable y los observadores son varios.

15
00:00:50,370 --> 00:00:56,730
Un sujeto puede agregar varios observadores, por eso tiene el método agregar o añadir, eliminar y

16
00:00:56,730 --> 00:00:59,700
notificar, mientras que el observador realmente está escuchando.

17
00:00:59,820 --> 00:01:04,680
Está pendiente que algo suceda en el sujeto cuando cambia algún estado.

18
00:01:04,770 --> 00:01:08,860
El estado sería el valor de algún atributo importante que se está monitoreando.

19
00:01:08,940 --> 00:01:11,460
Entonces cambia este valor automáticamente se notifica.

20
00:01:11,520 --> 00:01:15,300
Por eso tiene método notificar a todos los observadores que están suscrito.

21
00:01:15,420 --> 00:01:16,290
Veamos las relaciones.

22
00:01:16,380 --> 00:01:19,110
Acá tenemos el observador y acá tenemos el sujeto.

23
00:01:19,200 --> 00:01:23,810
El sujeto tiene una relación de agregación acá y 10 rombo.

24
00:01:23,910 --> 00:01:27,510
Pero en este diagrama está definido como cardinalidad.

25
00:01:27,570 --> 00:01:28,440
Por eso el asterisco.

26
00:01:28,590 --> 00:01:32,670
Es decir, el sujeto contiene muchos observadores n por eso asterisco.

27
00:01:32,790 --> 00:01:34,590
Acá tenemos unos de valor concreto.

28
00:01:34,680 --> 00:01:39,060
El observador podría ser una clase abstracta o una interfaz y lo vimos sujeto.

29
00:01:39,180 --> 00:01:45,120
Bueno, en realidad el sujeto observable más que una interfaz, debería ser una clase padre abstracta

30
00:01:45,180 --> 00:01:50,940
con los sujetos concretos que heredan y reutilizan algunos melos, como notificar, agregar, eliminar.

31
00:01:51,030 --> 00:01:54,270
En fin, iba a tener el Estado el Estado cuando cambia.

32
00:01:54,360 --> 00:01:58,500
Por eso acá tiene el atributo Estado, pero puede ser cualquier atributo de lo mismo.

33
00:01:58,620 --> 00:02:01,410
No se tiene porque llamar estado cuando cambia, notifica.

34
00:02:01,560 --> 00:02:05,160
De hecho, si nos vamos al ejemplo en inglés, el diagrama está un poco mejor.

35
00:02:08,300 --> 00:02:12,380
Acá el subject observable que contiene una colección.

36
00:02:12,410 --> 00:02:17,450
Por eso acá está el rombo, tiene varios observadores y los observadores no se notificado cuando pase

37
00:02:17,450 --> 00:02:18,290
algo acá.

38
00:02:18,770 --> 00:02:21,800
Y otro tema importante que el observador va a tener.

39
00:02:21,890 --> 00:02:24,500
El método APDAYC para que sea notificado.

40
00:02:24,590 --> 00:02:26,960
Quién mejor que un ejemplo para que lo podemos visualizar?

41
00:02:28,280 --> 00:02:29,120
Cerramos todo.

42
00:02:29,630 --> 00:02:31,010
Vamos a crear un pacato.

43
00:02:35,920 --> 00:02:36,550
Observás?

44
00:02:38,320 --> 00:02:43,560
Bien, vamos a partir primero definiendo la interfaz Observer para los observadores.

45
00:02:46,630 --> 00:02:48,820
Interfax Obsérvelo.

46
00:02:51,350 --> 00:02:57,860
Bien, una interfaz va a tener un método que le vamos a llamar APDAYC, mismo nombre que el patrón que

47
00:02:57,860 --> 00:03:00,200
define el patrón en español, sería como actualizar.

48
00:03:01,040 --> 00:03:01,760
No devuelve nada.

49
00:03:01,820 --> 00:03:05,150
Solamente realiza alguna acción, alguna tarea, algo.

50
00:03:05,210 --> 00:03:13,040
Cuando son notificados y va a recibir por argumento una instancia del objeto observable que cambió su

51
00:03:13,040 --> 00:03:13,430
estado.

52
00:03:15,440 --> 00:03:17,660
No se preocupen, la clase todavía no existe.

53
00:03:17,870 --> 00:03:22,640
No vayan a importar, porque también existe la clase observable de Java útil, pero de pruébatela.

54
00:03:23,810 --> 00:03:30,830
Entonces esta clase la vamos a crear observable hops de observable o le ponemos observable.

55
00:03:31,640 --> 00:03:32,000
Listo.

56
00:03:32,120 --> 00:03:32,750
Ahí tenemos.

57
00:03:33,310 --> 00:03:35,090
Bien, vamos a crear esta clase observable.

58
00:03:35,150 --> 00:03:38,180
De hecho, voy a copiar el nombre y la vamos a pegar acá.

59
00:03:41,810 --> 00:03:44,540
Yo tenía una clase, no una interfaz, una clase abstracta.

60
00:03:45,710 --> 00:03:48,830
Entonces por acá, abstracto.

61
00:03:50,240 --> 00:03:51,110
Y la vamos a implementar.

62
00:03:51,380 --> 00:03:54,200
Recuerden que la relación es de un observable.

63
00:03:54,290 --> 00:04:02,090
Muchos observadores protected del tipo listo, una lista observer.

64
00:04:05,880 --> 00:04:10,830
Observadores observéis igual niu ArrayList.

65
00:04:14,710 --> 00:04:15,130
Listo.

66
00:04:15,850 --> 00:04:18,400
Vamos a importar de lleba útil.

67
00:04:20,680 --> 00:04:33,280
Un public boy public voy a Server Observer observador perfecto, entonces vamos a añadir observadores,

68
00:04:33,670 --> 00:04:39,220
observéis punto AB haz oh buen pcoo caro.

69
00:04:39,310 --> 00:04:42,610
Mejor vamos a colocar Observer para que quede más explícito.

70
00:04:42,700 --> 00:04:45,940
Observen y acá también.

71
00:04:48,700 --> 00:04:49,900
B Eliminado.

72
00:04:53,960 --> 00:04:56,150
Remu Lo mismo Observer

73
00:05:00,260 --> 00:05:02,280
observéis la lista.

74
00:05:02,360 --> 00:05:03,050
Punto.

75
00:05:03,170 --> 00:05:08,930
Rimón y pasamos el objeto, observa, pero recuerden que se pue eliminar.

76
00:05:08,960 --> 00:05:11,720
Tenemos que implementar el método y en las listas.

77
00:05:11,960 --> 00:05:13,730
Entonces en la clase Observer.

78
00:05:14,690 --> 00:05:20,520
O más que bueno, en realidad es una interfaz, pero después en la clase que implementa esta interfaz

79
00:05:20,670 --> 00:05:24,630
derio implementar este método y es para qué se puede eliminar.

80
00:05:24,810 --> 00:05:25,620
Bien, continuemos.

81
00:05:25,710 --> 00:05:33,510
Lo segundo y el método importante del patrón es para notificar public void solamente notificar nada

82
00:05:33,510 --> 00:05:33,810
más.

83
00:05:33,930 --> 00:05:34,860
No devuelve nada.

84
00:05:35,040 --> 00:05:36,330
Notify observer.

85
00:05:39,540 --> 00:05:41,030
Notificar observadores.

86
00:05:41,340 --> 00:05:42,180
Lo puedo colocar en español.

87
00:05:42,210 --> 00:05:50,430
Da lo mismo, pero voy a utilizar los nombres del patrón notify observes con un for del tipo Observer

88
00:05:51,540 --> 00:05:58,860
observadores 2 punto in this punto observes y por cada uno notificamos.

89
00:05:58,920 --> 00:06:01,380
Entonces le invocamos el método a cada observador.

90
00:06:01,800 --> 00:06:03,570
Recuerden que causa el valor por la interfaz.

91
00:06:03,660 --> 00:06:07,200
Va a tener el método затем que recibe el observable.

92
00:06:07,950 --> 00:06:13,410
Por lo tanto le pasamos el this add dato punto this una instancia.

93
00:06:13,530 --> 00:06:18,540
Detuvimos el valor de este mismo objeto y prácticamente ya tenemos listo nuestro patrón diseño.

94
00:06:18,690 --> 00:06:20,810
Solamente tenemos que implementar la clase concretas.

95
00:06:21,000 --> 00:06:27,420
Vamos a crear dos ejemplos de compañías que invierten en la bolsa y tienen un precio en la bolsa de

96
00:06:27,420 --> 00:06:28,480
comercio, por ejemplo.

97
00:06:28,500 --> 00:06:34,440
Y cuando cambia este precio, notifica a todos los inversionistas que ha aumentado o ha bajado el precio

98
00:06:34,530 --> 00:06:35,370
de forma automática.

99
00:06:35,580 --> 00:06:36,120
Esa es la idea.

100
00:06:36,360 --> 00:06:44,190
Entonces vamos a crear nuestra clase, compañía o corporación como la queramos llamar new yaba class

101
00:06:44,400 --> 00:06:52,600
corporación corporación bien tiene que heredar de observable.

102
00:06:54,540 --> 00:06:59,880
Pero recuerden, siempre importen de nuestra clase observable y no de lleba útil.

103
00:07:00,030 --> 00:07:03,170
Tengan cuidado con el import siempre de nuestra clase.

104
00:07:05,120 --> 00:07:11,570
Corporación va a reutilizar todo lo que tenemos en Observable, vamos a poder añadir observadores.

105
00:07:12,290 --> 00:07:16,550
Entonces esta corporación, esta empresa, va a agregar inversionista.

106
00:07:16,640 --> 00:07:17,090
Qué iban a hacer?

107
00:07:17,120 --> 00:07:18,980
Lo que están observando, el precio.

108
00:07:19,070 --> 00:07:26,030
El valor de tu compañía en la bolsa comercial bien va a tener atributos como el nombre, el precio

109
00:07:33,950 --> 00:07:38,090
de lo mismo, el tipo de tipo Integer o tipo long o double.

110
00:07:38,180 --> 00:07:39,530
Cómo queremos manejar, por ejemplo?

111
00:07:39,860 --> 00:07:43,700
Da igual, vamos a implementar el constructor generate.

112
00:07:44,680 --> 00:07:45,290
Constructor.

113
00:07:45,820 --> 00:07:48,700
Los dos marcamos nombre precio OC.

114
00:07:49,970 --> 00:07:51,800
Y los método nyet para cada uno.

115
00:07:52,580 --> 00:07:56,750
Totalmente lo quieto generad juguetes para los dos.

116
00:07:57,110 --> 00:07:57,760
Nombre precio.

117
00:07:58,820 --> 00:08:04,250
Bien, el set solamente nombre y precio Vieh constructora y solamente se puede modificar el precio.

118
00:08:05,240 --> 00:08:14,300
Entonces vamos a tener un método public void modifica el precio, entonces cae que se modifica el precio.

119
00:08:14,390 --> 00:08:25,250
Bueno, acá recibe el nuevo precio o valor de punto precio igual el precio, pero cambia.

120
00:08:25,340 --> 00:08:28,370
Notificamos cómo estamos heredando de observable.

121
00:08:28,460 --> 00:08:31,650
Podemos llamar el método notify notify.

122
00:08:31,850 --> 00:08:32,500
Obsérvese.

123
00:08:33,960 --> 00:08:34,410
Soy virgen.

124
00:08:34,470 --> 00:08:38,760
Y esa forma va a notificar a todos los observadores con el foro, uno por uno.

125
00:08:38,940 --> 00:08:43,710
Entonces cree que cambia el estado de algún atributo importante y queremos notificar a los que tenemos

126
00:08:43,710 --> 00:08:45,660
suscritos y enfocamos este método.

127
00:08:45,930 --> 00:08:48,360
Y eso sería entonces vamos a probar el patrón.

128
00:08:48,480 --> 00:08:54,180
Vamos a crear una clase ejemplo new ya class.

129
00:08:54,270 --> 00:08:55,230
O mejor, un package.

130
00:08:55,590 --> 00:08:56,430
Ejemplos.

131
00:09:00,750 --> 00:09:02,550
Ahora sí, ejemplo Observer,

132
00:09:08,280 --> 00:09:15,630
vamos a crear primero una instancia de corporación que del tipo observable corporación, por ejemplo

133
00:09:15,690 --> 00:09:28,290
Google New Corporación, pasamos el nombre y el valor, por ejemplo 1000 y vamos a agregar en Google

134
00:09:28,620 --> 00:09:31,570
observadoras, entonces add observer.

135
00:09:32,550 --> 00:09:35,640
Pero recuerden, el observador es una implementación de la interfaz.

136
00:09:35,970 --> 00:09:43,350
Podemos crear una clase, implementar este método ADAT, implementar la interfaz por supuesto y listo,

137
00:09:43,890 --> 00:09:46,200
o bien usando Aprisione lanta.

138
00:09:46,500 --> 00:09:47,640
Entonces acá se emite.

139
00:09:47,790 --> 00:09:53,880
Recuerden, se pasa por argumento el observable entonces observable.

140
00:09:58,640 --> 00:10:00,470
Implementamos el método, хотя.

141
00:10:02,100 --> 00:10:03,270
Por ejemplo, Allon

142
00:10:06,060 --> 00:10:08,960
mientras objeto observable, si nos vamos acá.

143
00:10:11,000 --> 00:10:13,880
Acá se notifica y tenemos la corporación que hereda de este.

144
00:10:14,360 --> 00:10:17,970
Y acá tenemos el nombre y el precio y pudimos mostrar esta nueva información.

145
00:10:19,040 --> 00:10:21,260
Entonces para John acá notificÃ John.

146
00:10:22,290 --> 00:10:29,550
Observable, obviamente no tienen método, nyet nombre ni geet precio, se fijan, no lo tiene.

147
00:10:29,910 --> 00:10:31,200
Entonces habría que hacer un často.

148
00:10:32,040 --> 00:10:37,380
Vamos a hacer un cast de corporación corporación, hacemos el cast.

149
00:10:39,090 --> 00:10:45,540
Otro paréntesis más para invocar el método y acá observable y parentes.

150
00:10:45,750 --> 00:10:47,730
Y ahora bien, nombre.

151
00:10:49,490 --> 00:10:53,750
Más vamos a bajar y lo mismo vamos a copiar esto.

152
00:10:54,980 --> 00:10:56,630
El cast y lo pegamos acá.

153
00:10:57,520 --> 00:10:58,460
Guet precio.

154
00:11:00,100 --> 00:11:08,680
Pero entre medio vamos a tener otro más, un strength nuevo precio de origen.

155
00:11:08,860 --> 00:11:17,260
Entonces notificÃ John con el nuevo precio y así podríamos tener varios observadores, incluso con diferente

156
00:11:17,260 --> 00:11:17,830
implementación.

157
00:11:17,860 --> 00:11:22,300
Pero para el ejemplo vamos a colocar el mismo, por ejemplo, Andrés.

158
00:11:22,660 --> 00:11:25,420
Acá tenemos dos inversionista y podríamos tener otro más.

159
00:11:29,980 --> 00:11:30,460
Amaria.

160
00:11:31,820 --> 00:11:38,060
Bueno, si lo ejecutamos, obviamente no pasa nada, de hecho vamos a levantar y no pasa nada, porque

161
00:11:38,060 --> 00:11:40,880
el precio no ha cambiado, el precio se mantiene.

162
00:11:41,120 --> 00:11:41,940
Cierto mvil.

163
00:11:42,590 --> 00:11:44,360
Pero qué pasa si acá modificamos el precio?

164
00:11:44,450 --> 00:11:46,880
Colocamos a Google.

165
00:11:47,030 --> 00:11:47,630
Punto.

166
00:11:47,690 --> 00:11:48,780
Modifica el precio.

167
00:11:49,190 --> 00:11:50,660
Ahora vale 2000.

168
00:11:52,160 --> 00:11:53,150
Actualizamos el precio.

169
00:11:53,450 --> 00:11:53,990
Vamos a ver.

170
00:11:57,240 --> 00:11:58,900
notificÃ John Google.

171
00:11:58,920 --> 00:11:59,720
Nuevo precio.

172
00:11:59,910 --> 00:12:04,980
2000 y notifica a uno por uno, a cada observador el valor.

173
00:12:06,000 --> 00:12:11,400
Ahora, incluso esto mismo, para que quede más simple, lo podríamos llevar al método toString de la

174
00:12:11,400 --> 00:12:12,630
clase corporación.

175
00:12:12,990 --> 00:12:16,680
De hecho, vamos a cortar esto solamente.

176
00:12:16,900 --> 00:12:19,940
Que mejor vamos a implementar el método toString.

177
00:12:22,100 --> 00:12:25,410
Generad tu estric, ok.

178
00:12:26,820 --> 00:12:27,930
Pero lo vamos a reemplazar.

179
00:12:28,140 --> 00:12:28,950
Quitamos esto.

180
00:12:29,160 --> 00:12:35,910
El cast no necesario, solamente que el nombre de acá.

181
00:12:36,090 --> 00:12:36,690
Qué precio?

182
00:12:38,250 --> 00:12:42,250
Listo, volvemos acá y acá imprimimos el objeto observable.

183
00:12:43,770 --> 00:12:44,460
Y lo mismo acá.

184
00:12:45,480 --> 00:12:46,230
Entonces queda mejor.

185
00:12:57,320 --> 00:12:59,450
Tiene mucho más limpio y eso es el patrón.

186
00:12:59,760 --> 00:13:05,440
Veamos otro ejemplo cortito, simple, de este mismo patrón para que tenga dos variantes.

187
00:13:05,690 --> 00:13:06,650
Voy a cerrar acá.

188
00:13:07,490 --> 00:13:12,680
Vamos a crear otra clase que variedad de observable entonces acá en Observer.

189
00:13:13,650 --> 00:13:14,970
Vamos a crear otra más.

190
00:13:15,540 --> 00:13:17,390
Le vamos a llamar usuario repositorio.

191
00:13:20,370 --> 00:13:25,170
Entonces, cada vez que creamos un nuevo usuario en el sistema, vamos a notificar a los observadores

192
00:13:25,230 --> 00:13:26,270
para que hagan distintas cosas.

193
00:13:26,280 --> 00:13:32,610
Por ejemplo, que mandé un correo al usuario, otro servidor que envíe un correo al administrador del

194
00:13:32,610 --> 00:13:34,920
sistema, otro que lo guarde en el log.

195
00:13:35,040 --> 00:13:39,720
En fin, podríamos tener diferentes eventos cada vez que se registra un nuevo usuario

196
00:13:42,660 --> 00:13:45,630
stents observable.

197
00:13:48,440 --> 00:13:53,510
Vamos a tener un atributo privado del tipo list, del tipo usuario.

198
00:13:54,500 --> 00:13:59,180
Pero para simplificar, vamos a registrar nombres, claro, pero de ir a hacer una clase usuario con

199
00:13:59,180 --> 00:14:02,180
el nombre, apellido o el email y el campo que necesitemos.

200
00:14:02,390 --> 00:14:08,000
Vamos a importar list donde lleva útil repositorio

201
00:14:10,910 --> 00:14:12,740
New ArrayList.

202
00:14:13,910 --> 00:14:14,390
Perfecto.

203
00:14:14,630 --> 00:14:17,090
Lo estoy inicializado acá mismo como atributo.

204
00:14:17,210 --> 00:14:18,530
También puede ser en el constructor.

205
00:14:18,890 --> 00:14:23,270
También lo podríamos implementar en la conducta, pero que sea más simple solamente el método crear

206
00:14:23,720 --> 00:14:30,110
public void crear crear usuario o crear nuevo usuario.

207
00:14:30,440 --> 00:14:34,730
Acá recibe el usuario del tipo usuario, pero vamos a colocar string.

208
00:14:37,510 --> 00:14:42,250
Esto podría ser la base auto perfectamente bien con Moise, uele, con Orac, con lo que sea, pero

209
00:14:42,250 --> 00:14:46,540
como todavía no hemos visto, lo registramos en la lista con él.

210
00:14:46,630 --> 00:14:55,240
Haddo simulando un registro en la tabla dija pasamos el usuario entonces acá que se crea un usuario

211
00:14:55,270 --> 00:14:57,340
se registra en la Ayato o da lo mismo?

212
00:14:57,350 --> 00:14:59,440
También puede ser para eliminar, para modificar.

213
00:14:59,710 --> 00:15:00,730
Vamos a notificar.

214
00:15:01,300 --> 00:15:06,610
Se fijan entonces какие cambia el estado o se ejecuta alguna tarea importante?

215
00:15:07,030 --> 00:15:09,280
Notificamos acá tengo mal escrito.

216
00:15:09,400 --> 00:15:12,910
Es usuario repositorio, no repositorio.

217
00:15:16,470 --> 00:15:17,460
Vamos a ejemplo.

218
00:15:17,670 --> 00:15:18,480
Ejemplo 2.

219
00:15:21,240 --> 00:15:21,750
Con M

220
00:15:24,900 --> 00:15:25,440
2.

221
00:15:28,610 --> 00:15:30,590
Con el usuario repositorio.

222
00:15:33,750 --> 00:15:44,750
Repositorio Tiguan New Usuario Repositorio Perfecto 12 repo punto agregar observador observador lleca

223
00:15:44,850 --> 00:15:46,410
alguna tarea shout.

224
00:15:52,180 --> 00:15:58,210
Enviando un email al usuario repo juntoa Observer.

225
00:16:07,260 --> 00:16:09,960
Enviando un email al administrador o administradores.

226
00:16:15,120 --> 00:16:20,760
Se fijan, estamos registrando distintos eventos, suscritores, observadores, para que hagan algo

227
00:16:20,820 --> 00:16:23,040
cuando se registre un usuario.

228
00:16:28,960 --> 00:16:29,590
Perfecto.

229
00:16:30,970 --> 00:16:34,280
Bien, vamos a repo repo.

230
00:16:34,540 --> 00:16:37,330
Punto agregar usuario o crear usuario.

231
00:16:40,080 --> 00:16:40,440
3.

232
00:16:45,840 --> 00:16:50,540
Enviando un email al usuario enviado mail administrador, guardando información del usuario erlo.

233
00:16:51,150 --> 00:16:54,960
Ahora, qué pasa si quiero mostrar acá la información del usuario que se está registrando?

234
00:16:55,140 --> 00:16:58,140
Porque en la clase usuario repositorio.

235
00:16:58,500 --> 00:16:59,550
Acá se pasa el usuario.

236
00:16:59,790 --> 00:17:05,760
Me gustaría poder pasar este usuario acá a notify observes y poder mostrar la información.

237
00:17:07,240 --> 00:17:11,110
Que esté disponible, por ejemplo, no sé acá en este método.

238
00:17:11,590 --> 00:17:16,180
Bueno, ahí tenemos que modificar un poco la estructura, como por ejemplo acá.

239
00:17:17,120 --> 00:17:17,490
Perdón?

240
00:17:17,590 --> 00:17:20,810
No, acá vamos a ir a Observable.

241
00:17:22,530 --> 00:17:25,890
Acá, acá podríamos tener alguna sobrecarga de método.

242
00:17:26,100 --> 00:17:28,620
Uno que no reciba argumento y otro que reciba.

243
00:17:29,620 --> 00:17:35,880
Por ejemplo, vamos a tener acá Public Boy Notify

244
00:17:40,410 --> 00:17:46,090
y acá pasamos un objeto o texto objeto.

245
00:17:47,480 --> 00:17:55,070
Y esto mismo lo cortamos, lo pegamos, acá llega, pasamos objeto, objeto.

246
00:17:56,490 --> 00:17:57,420
Ahora marca error.

247
00:17:57,570 --> 00:17:58,770
Eso después lo vamos a solucionar.

248
00:17:59,130 --> 00:18:07,560
Y acá tiene argumento Notify o Sergas, pero pasamos Nule se fijen los reutilizados.

249
00:18:07,740 --> 00:18:14,640
Entonces notify observer sin argumento, invocaste de acá, pero le pasamos nul nada y tendría que modificar

250
00:18:14,730 --> 00:18:16,950
el Abbott con doble argumento.

251
00:18:17,160 --> 00:18:18,590
Para eso nos vamos a los server.

252
00:18:20,050 --> 00:18:23,080
Acá le agregamos otro objeto.

253
00:18:25,660 --> 00:18:27,370
Y nos vamos a ejemplo Observer.

254
00:18:28,500 --> 00:18:30,450
Ahora, claro, son dos argumentos.

255
00:18:30,690 --> 00:18:33,090
Acá solamente utilizamos uno, pero no los dos.

256
00:18:33,660 --> 00:18:34,930
Entonces acá podríamos colocar.

257
00:18:35,100 --> 00:18:39,210
Recuerden, cuando son más, colocamos paréntesis, paréntesis.

258
00:18:40,280 --> 00:18:44,480
Gomá El objeto de esto y esto en cada uno.

259
00:18:46,370 --> 00:18:49,920
Entonces así disponemos de ambos en este caso.

260
00:18:49,980 --> 00:18:54,030
Bueno, da lo mismo en el ejemplo de corporación, ya que no estamos pasando ningún objeto.

261
00:18:54,360 --> 00:18:56,640
Si nos vamos a corporación.

262
00:18:57,720 --> 00:19:01,350
Acá no pasamos nada, no pasamos ningún dato que Anul.

263
00:19:01,500 --> 00:19:07,470
Simplemente no utilizamos el segundo parámetro, solamente utilizamos observable, pero en el ejemplo

264
00:19:07,470 --> 00:19:12,150
repositorio bueno Akashi vámonos ejemplo o server 2.

265
00:19:13,210 --> 00:19:14,140
Casi de lo mismo.

266
00:19:16,710 --> 00:19:23,330
Coma objeto o en este caso sería usuario u de usuario.

267
00:19:27,780 --> 00:19:28,690
Y lo pegamos acá.

268
00:19:29,690 --> 00:19:31,880
Enviando un email al usuario.

269
00:19:35,450 --> 00:19:43,850
Enviando un email administrador por nuevo usuario y aca guardando información del usuario concatenados,

270
00:19:45,680 --> 00:19:47,060
bajamos un.

271
00:19:48,360 --> 00:19:49,590
Ejemplo repositorio.

272
00:19:50,600 --> 00:19:57,350
Acá pasamos el usuario también en nombre de usuario importante Notify o Shermer, pasamos nombre del

273
00:19:57,350 --> 00:19:57,710
usuario.

274
00:19:58,400 --> 00:19:58,790
Ahora si.

275
00:20:02,330 --> 00:20:05,540
Enviando un email al usuario en 3 acto el espacio.

276
00:20:07,340 --> 00:20:09,420
Guardan información del usuario en 3 en el log.

277
00:20:13,270 --> 00:20:17,770
Y así podríamos tener la información del objeto que se está registrando en este caso.

278
00:20:21,140 --> 00:20:21,710
Nada más.

279
00:20:21,770 --> 00:20:23,710
Continuamos en la siguiente clase.
