1
00:00:00,180 --> 00:00:00,600
Bienvenido.

2
00:00:00,630 --> 00:00:07,230
Continuamos con otro ejemplo de uso interfaz, con consultas y operaciones a un repositorio independiente.

3
00:00:07,240 --> 00:00:12,150
Si es una base auto, por ejemplo, nos podrían comunicar con JS, realizar consultas, operaciones

4
00:00:12,150 --> 00:00:17,610
o una tabla, pero también podríamos hacer esto mismo a otra fuente, dato o DataSource, por ejemplo,

5
00:00:17,700 --> 00:00:19,140
a una lista, a una red list.

6
00:00:19,440 --> 00:00:22,950
Como por el momento no hemos visto nada de bases, esto, eso lo vamos a ver después.

7
00:00:23,040 --> 00:00:25,380
Así que por ahora lo vamos a trabajar con listas.

8
00:00:25,410 --> 00:00:31,830
Pero si la idea es tener una interfaz repository con métodos, por ejemplo para el cruz, para realizar

9
00:00:31,890 --> 00:00:38,550
operaciones de altas, bajas y modificaciones, listar por ejemplo obtener por Heidy, eliminar, editar,

10
00:00:38,580 --> 00:00:39,180
crear.

11
00:00:39,300 --> 00:00:44,940
Entonces vamos a tener nuestra interfaz Cruz Repository implementada con ArrayList, pero también lo

12
00:00:44,940 --> 00:00:50,640
podríamos implementar con cualquier otro tipo de fuente dato de base, datos transaccionales usando

13
00:00:50,640 --> 00:00:53,420
JS o incluso JPA o Hibbert net.

14
00:00:53,580 --> 00:00:59,160
Al final es la implementación, lo podremos implementar como queramos y con la herramienta tecnología

15
00:00:59,160 --> 00:01:00,360
que queramos o framework.

16
00:01:00,540 --> 00:01:06,660
Ah, y otro punto importante en este ejemplo también la idea principal es ver herencia múltiple de interfaz.

17
00:01:06,810 --> 00:01:12,270
Por lo tanto, vamos a tener una interfaz para el club repositorio para las operaciones básicas con

18
00:01:12,270 --> 00:01:18,720
los datos leer, crear, editar, eliminar, listar, pero también otra interfaz que sea para ordenar,

19
00:01:18,840 --> 00:01:24,270
ordenarles, repositorio, listar los datos, pero que estén ordenados por algún atributo y en alguna

20
00:01:24,270 --> 00:01:26,460
dirección ascendente o descendente.

21
00:01:26,550 --> 00:01:30,120
Otra interfaz página able para poder pajinas nuestra lista.

22
00:01:30,450 --> 00:01:34,320
Entonces ese modelo sería el ejemplo, pero para eso vamos a cerrar todo lo que tenemos.

23
00:01:35,210 --> 00:01:36,760
Y vamos a crear 1 proyecto.

24
00:01:40,720 --> 00:01:44,500
Como siempre, New Project Yaba siguiente.

25
00:01:45,520 --> 00:01:51,490
Le vamos a llamar igual interfases o interfases?

26
00:01:52,750 --> 00:01:53,410
Repositorio.

27
00:01:55,930 --> 00:02:01,270
Al final, un componente repositorio es para realizar operaciones consultá, es decir, de acceso a

28
00:02:01,270 --> 00:02:01,600
datos.

29
00:02:01,720 --> 00:02:08,140
También se le conoce como el patrón DAO o data access, objeto de acceso a datos.

30
00:02:08,680 --> 00:02:10,780
Vamos a crear los package como siempre.

31
00:02:10,870 --> 00:02:11,560
En ese recé.

32
00:02:19,150 --> 00:02:30,130
Punto Repositorio Entonces Ohr a Guzmán punto P o Interfases Punto Repositorio Listo acá entonces nuestra

33
00:02:30,130 --> 00:02:33,460
interfaz con click derecho new.

34
00:02:34,520 --> 00:02:40,610
Ñada Klauss, seleccionamos Interfax acá y en nombre CRUD repositorio

35
00:02:43,670 --> 00:02:48,800
bien, nuestra primera interfaz, pero tenemos que trabajar con datos, es decir, vamos a crear un

36
00:02:48,800 --> 00:02:53,540
mantenedor de altas, bajas y modificaciones de algún tipo de registro.

37
00:02:53,690 --> 00:02:54,730
Pero estas 12a un tipo dato.

38
00:02:54,740 --> 00:03:02,240
Por ejemplo, quiero realizar operaciones sobre clientes o sobre producto se fijan sobre usuarios.

39
00:03:02,360 --> 00:03:08,180
Entonces vamos a crear una clase con métodos GET transceptor con atributos que va a representar nuestro

40
00:03:08,180 --> 00:03:08,600
datos.

41
00:03:08,720 --> 00:03:11,450
Por ejemplo, los registros de una tabla.

42
00:03:11,900 --> 00:03:17,750
Entonces vamos a crear para el ejemplo la clase cliente, pero podríamos organizar un poco los package.

43
00:03:17,930 --> 00:03:21,380
Por ejemplo, voy a crear un pack acá primero.

44
00:03:21,440 --> 00:03:22,280
Antes que nada.

45
00:03:23,190 --> 00:03:25,410
Y acá en P o interfases.

46
00:03:26,450 --> 00:03:36,800
Voy a tener modelo Bejan, modelo y repositorio, y en modelo vamos a tener el cliente para el ejemplo

47
00:03:36,800 --> 00:03:39,650
cliente, pero puede ser lo que queramos producto.

48
00:03:39,710 --> 00:03:43,310
Como digo, puede ser factura, puedes ser usuario

49
00:03:46,640 --> 00:03:49,610
con atributos y aydin del tipo Integer.

50
00:03:49,730 --> 00:03:55,070
Esta vez lo eger como la clase Rapper Integer también puede ser primitivo

51
00:03:57,920 --> 00:03:58,560
nombre.

52
00:04:03,020 --> 00:04:03,980
En fin, y lo que queramos.

53
00:04:04,010 --> 00:04:08,420
Cualquier campo, si al final de la misma es para tener registros, solamente datos.

54
00:04:08,630 --> 00:04:13,580
Bien gué tran setter constructor entonces generad constructor.

55
00:04:13,760 --> 00:04:15,830
Vamos a pasar el nombre de apellido.

56
00:04:17,790 --> 00:04:22,290
Pero también me vas a tener en constructor, vacío, constructor, sin nada.

57
00:04:23,600 --> 00:04:26,240
Vamos a tener Guiteras setter por acá.

58
00:04:29,300 --> 00:04:42,860
Marcamos todo, se fijan lo trema casi listo, pero bien el Heidy private static int último Heidy.

59
00:04:43,880 --> 00:04:52,970
Entonces en el constructor acá vamos a asignar el Heidy de punto Heidy igual el incremento de último

60
00:04:52,970 --> 00:04:53,210
edi.

61
00:04:54,350 --> 00:04:57,220
Se acuerdan que para generar una idea automático?

62
00:04:58,850 --> 00:05:04,700
Listo, ahí pasamos el Heidy, pero le idea que acá también invoque este constructor para que genere

63
00:05:04,700 --> 00:05:05,090
Leidy.

64
00:05:06,560 --> 00:05:12,650
Entonces acá con Di's invocamos este constructor y hacinan Leidy después en nombre apellido.

65
00:05:13,260 --> 00:05:16,480
Está molesto, incluso podríamos tener un string.

66
00:05:17,480 --> 00:05:21,170
Generated tu estric que muestre bueno todo.

67
00:05:22,810 --> 00:05:30,730
Voy a quitar esto solamente que aparezca el Heidy, esto, el Heidy igual con el valor nombre, apellido.

68
00:05:31,800 --> 00:05:34,230
Esto lo quitamos hasta acá.

69
00:05:35,250 --> 00:05:36,980
Listo, hoy tenemos el tuis String.

70
00:05:38,240 --> 00:05:44,900
Entonces, protocolos, métodos de la interfaz, primero para listar, para obtener todos los clientes,

71
00:05:45,740 --> 00:05:56,810
entonces una lista cliente listas fijan un método de la interfaz vamos a importar primero cliente lo

72
00:05:56,810 --> 00:06:00,980
importamos del package modelo y lista de yatiri.

73
00:06:01,700 --> 00:06:07,850
Entonces esta interfaz la podemos implementar de lo mismo, ya sea con paseando con API Rest, un arreglo,

74
00:06:07,940 --> 00:06:14,360
un ArrayList donde queramos guardar, almacenar, manejar a los clientes, incluso un archivo plano,

75
00:06:14,510 --> 00:06:17,510
un XML en cualquier fuente o DataSource.

76
00:06:17,960 --> 00:06:20,480
Qué otro método podríamos tener para ver el detalle?

77
00:06:20,600 --> 00:06:21,560
Obtener prendi?

78
00:06:21,710 --> 00:06:23,300
Entonces qué retorna un cliente?

79
00:06:23,390 --> 00:06:25,760
Uno solo cliente.

80
00:06:26,090 --> 00:06:36,110
El método por ejemplo por Heidy y pasamos el Heidy Integer el Heidy recuerden que Leydi lo pusimos del

81
00:06:36,110 --> 00:06:44,420
tipo intuyas de la clase Rapper con mayúscula Acari Integer acá también intuyas y retorna cliente por

82
00:06:44,420 --> 00:06:44,810
LVII.

83
00:06:45,050 --> 00:06:50,330
Este método es para guet para obtener el cliente prohibi o el detalle.

84
00:06:50,930 --> 00:06:51,710
Cuál otro más?

85
00:06:52,100 --> 00:06:52,460
Crear.

86
00:06:52,460 --> 00:06:59,150
Por ejemplo, Beut no retorna nada, pero realiza una operación, es decir, crea un cliente en nuestro

87
00:06:59,150 --> 00:07:08,120
repositorio crear, crear o insertar o guardar como queramos y pasamos por argumento el objeto que queremos

88
00:07:08,120 --> 00:07:08,480
crear.

89
00:07:09,530 --> 00:07:12,020
Cliente cliente

90
00:07:15,170 --> 00:07:16,130
editar también.

91
00:07:16,220 --> 00:07:24,620
Cliente cliente Cuando se crea un cliente, se crea un cliente nuevo desde cero.

92
00:07:24,680 --> 00:07:26,870
Cuando se edita se modifica uno que ya existe.

93
00:07:27,140 --> 00:07:29,980
Se fijan acá void eliminar

94
00:07:33,030 --> 00:07:38,930
bueno por el Heidy la idea obtenemos el Heidy de cliente que queremos eliminar lo vamos a buscar al

95
00:07:38,930 --> 00:07:40,610
repositorio y lo eliminamos.

96
00:07:40,790 --> 00:07:46,520
Recuerden el repositorio es abstracto, da lo mismo se puede implementar con cualquier datasource.

97
00:07:46,790 --> 00:07:54,290
Acá tenemos nuestro CRUD repositorio con las operaciones básicas y típicas de de un CRUD o de altas,

98
00:07:54,290 --> 00:07:55,310
bajas y modificaciones.

99
00:07:56,420 --> 00:08:00,680
Pero también vamos a tener otra interfaz acá en repositorio, junto con Cruz.

100
00:08:02,030 --> 00:08:06,770
New Yaba class interfaz Ordénale repositorio

101
00:08:10,520 --> 00:08:18,280
se fijen, ordénale cómo termina por lo general los nombre interfaces ordénale repositorio OK.

102
00:08:20,330 --> 00:08:21,590
Va a tener el método también.

103
00:08:21,680 --> 00:08:25,240
Vamos a tener sobrecarga de métodos list.

104
00:08:26,740 --> 00:08:30,260
Cliente listas se fijan.

105
00:08:30,380 --> 00:08:34,520
Mismo nombre del método acá litar lis cliente lista.

106
00:08:34,610 --> 00:08:40,250
Lo que cambia sería los argumentos acá la idea es ordenar, por lo tanto que tengan que pasar por argumento

107
00:08:40,340 --> 00:08:47,010
en nombre del campo con el cual queremos ordenar o atributo y la dirección si es ascendente o descendente.

108
00:08:47,930 --> 00:08:48,710
Entonces estric.

109
00:08:48,920 --> 00:08:51,620
Por ejemplo campo o atributo.

110
00:08:53,000 --> 00:08:54,890
String dirección.

111
00:08:55,040 --> 00:08:55,580
Dir.

112
00:08:56,240 --> 00:08:56,720
Perfecto.

113
00:08:56,780 --> 00:08:58,460
Vamos a importar cliente.

114
00:09:03,390 --> 00:09:05,220
Ahora, dirección DIR.

115
00:09:05,340 --> 00:09:07,140
Puede ser ASC o DESC.

116
00:09:07,350 --> 00:09:09,240
Hay dos opciones ascendente o descendente.

117
00:09:09,400 --> 00:09:11,730
Entonces, en realidad podría ser un enumerada.

118
00:09:12,030 --> 00:09:12,420
Claro.

119
00:09:12,510 --> 00:09:13,990
Mucho mejor un enum.

120
00:09:14,340 --> 00:09:16,560
Entonces podríamos tener acá en repositorio.

121
00:09:18,590 --> 00:09:22,670
Un atlas en un direc ción.

122
00:09:23,000 --> 00:09:23,390
Listo.

123
00:09:24,980 --> 00:09:28,880
Dos opciones ASC con desca.

124
00:09:29,750 --> 00:09:33,890
111 Qué mejor así acá colocamos dirección nomá con el enum.

125
00:09:36,890 --> 00:09:41,030
Y otra interfaz más para páginas Doncella Atlas.

126
00:09:42,010 --> 00:09:46,450
Interfax Pági nable repositorio.

127
00:09:48,100 --> 00:09:50,080
También sobre Cárgame todo igual.

128
00:09:50,530 --> 00:09:51,060
Listo.

129
00:09:52,980 --> 00:09:55,510
Cliente litar

130
00:10:00,610 --> 00:10:02,080
hilitos desde y hasta.

131
00:10:05,620 --> 00:10:07,620
Importamos de ella útil y cliente.

132
00:10:07,900 --> 00:10:13,150
Entonces el desde desde donde creó trajinar hasta donde un rango, porque podríamos tener una lista

133
00:10:13,210 --> 00:10:15,470
enorme con miles de registro y voy patinando.

134
00:10:15,490 --> 00:10:23,140
10 Sentías entonces desde hasta entonces de cero hasta nueve después de 10 hasta 19 y así sucesivamente.

135
00:10:23,230 --> 00:10:24,700
Vamos pajeando de 10 en 10.

136
00:10:24,880 --> 00:10:31,240
Esto en pasearlos se le conoce como él, el límite que sería el ÂHasta y el offset, el desde el offset

137
00:10:31,330 --> 00:10:31,870
y el limit.

138
00:10:31,990 --> 00:10:36,250
Y con estos dos parámetros podemos pajinas al final es desde el hasta entonces.

139
00:10:36,550 --> 00:10:43,330
También interfaz se puede aplicar tanto a nivel de tabla con base dato a un ArrayList o cualquier tipo

140
00:10:43,420 --> 00:10:45,100
de repositorio o datasource.

141
00:10:45,220 --> 00:10:48,280
Bien cree que ya tenemos la base, ya tenemos las tres interfaces.

142
00:10:48,940 --> 00:10:54,790
La idea es crear una implementación concreta de un repositorio de clientes implementado con ArrayList,

143
00:10:55,270 --> 00:10:59,350
implementar estos métodos, implementar este método, implementar este método.

144
00:10:59,440 --> 00:11:03,430
Se fijan y esta clase va a implementar estas tres interfaces.

145
00:11:03,550 --> 00:11:08,470
Se fijan implementación múltiple de interfaces, pero bien, eso lo hagamos para la siguiente clase.

146
00:11:08,650 --> 00:11:09,340
Nos vemos.
