Saltar navegación

20260112 Refactorizar_AppClientesPedidos_2 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 12 de enero de 2026 por Raquel G.

1 visualizaciones

Descargar la transcripción

Bueno 00:00:00
Pues 00:00:06
Venga, pues esta es la idea 00:00:09
No solo hacer las cosas 00:00:11
Sino 00:00:13
Diseñarlas 00:00:15
De tal manera 00:00:17
Que la aplicación 00:00:18
Quede un poquito más clara 00:00:21
Y más compartimentada 00:00:22
Incluso aquí 00:00:24
ya tendríamos 00:00:38
que cambiar un poco las cosas 00:00:39
porque ya aquí empieza a quedar 00:00:41
una clase con un montón de métodos 00:00:43
hombre, es mejor que una clase 00:00:46
con un único método larguísimo 00:00:48
mucho mejor que eso es una clase 00:00:49
con muchos métodos cortos 00:00:52
pero ya empezaría a quedar una clase con un montón de métodos 00:00:53
entonces, hombre 00:00:56
aquí sería lo ideal 00:00:58
decir, a ver, por ejemplo 00:01:00
aquí tengo un montón de métodos 00:01:02
en este caso son tres 00:01:04
pero podrían ser más si hubiéramos seguido refactorizando 00:01:06
que son agregar pedido a un cliente 00:01:08
mostrar el menú 00:01:12
leer cliente, mostrar clientes 00:01:14
o sea, tres de esos métodos auxiliares 00:01:18
mostrar menú no, mostrar menú ahí va muy bien porque 00:01:21
está relacionado con el main 00:01:23
pero el de agregar pedido, leer cliente 00:01:25
mostrar clientes, ya empiezan a ser muchos métodos 00:01:30
todos relacionados 00:01:33
con los datos, relacionados 00:01:36
con clientes, ¿no sería mejor 00:01:37
ya que son muchos hacer una clase 00:01:39
que agrupe todos los 00:01:41
métodos relacionados con tocar 00:01:43
los datos? 00:01:45
Pues sí, ya empezaría a ser 00:01:48
lo mejor, porque aquí ya empieza a haber muchos. 00:01:49
Entonces, 00:01:52
último 00:01:54
salto que hacemos. 00:01:55
Vamos a hacernos una clase 00:01:58
que agrupe todo lo relacionado 00:01:59
con tocar los datos 00:02:01
entonces uno se haría 00:02:03
aquí, pues teníamos 00:02:06
el paquete con el modelo, cliente 00:02:09
pedido, el paquete con el 00:02:11
main, ejer 22 00:02:13
en un caso real uno se haría otro 00:02:14
paquete con lo relacionado 00:02:17
con los datos, pues por ejemplo 00:02:19
vamos a hacernos aquí un paquete 00:02:22
ejer 22 00:02:23
punto datos 00:02:27
vale 00:02:28
entonces aquí iría todo relacionado con 00:02:30
los datos de la aplicación 00:02:33
Pues nos hacemos una aplicación 00:02:35
Por ejemplo 00:02:39
Acceso datos 00:02:43
Clientes pedidos 00:02:50
Un nombre un poco feo 00:02:52
Pero bueno 00:02:54
Vale, y aquí pongo otro relacionado con los datos 00:02:54
Lo pongo aquí ya aparte 00:03:03
Bueno, pues 00:03:05
¿Qué es lo relacionado con los datos? 00:03:06
Pues nos vamos a coger de este main 00:03:08
Que este main va adelgazando y se va quedando cada vez más pequeño 00:03:10
Que es la idea 00:03:13
Que el main vaya adelgazando 00:03:13
De este main 00:03:15
vamos a quitar esto 00:03:17
esto fuera 00:03:19
se va de mi main 00:03:24
fuera 00:03:27
hago ahí un control x 00:03:29
sin miedo 00:03:33
y aquí se queda 00:03:34
ahora 00:03:37
todos los métodos que tocan 00:03:39
estos datos, que meten clientes 00:03:42
que añaden pedidos, que recuperan 00:03:44
clientes, pues aquí 00:03:46
también, que cuáles eran 00:03:48
me voy al main 00:03:50
Y me hago yo sin ningún miedo 00:03:51
Mi corta y pega 00:03:54
Con todos estos 00:03:56
Leer cliente 00:03:57
Mostrar cliente 00:03:59
Todos estos sin miedo 00:04:00
Ahí 00:04:04
Y me falta 00:04:05
Este de 00:04:08
Agregar pedido 00:04:10
También 00:04:13
No, ese no, porque ese no tiene nada que ver con los datos 00:04:13
Fuera, sin miedo 00:04:18
Ahí se queda tan feliz 00:04:21
Entonces tengo mi clase 00:04:27
Y esta clase seguiría teniendo 00:04:29
Métodos como 00:04:38
Recupera cliente por nombre 00:04:39
Los que yo necesite 00:04:41
Elimina cliente, los que hagan falta 00:04:42
Irían todos ahí 00:04:45
Todos métodos estáticos 00:04:46
Pues muestra 00:04:48
El precio de los pedidos 00:04:51
De un cliente 00:04:53
Todos esos que tocan los datos irían todos aquí recogidos 00:04:54
Aquí tranquilamente 00:04:57
Y ahora mi clase main 00:05:00
llama a esos métodos 00:05:01
entonces, el de mostrar menú 00:05:05
no, este se queda aquí, porque este no tiene 00:05:06
que ver con los datos, este era mostrar un menú 00:05:08
y leer un entero, y ya está 00:05:10
este es un auxiliar para esto, ahí se queda tan feliz 00:05:12
y aquí ya se queda mi main 00:05:14
que cada vez que lo necesite 00:05:17
llama 00:05:19
a los datos, pues cuando 00:05:20
lo necesita, por ejemplo 00:05:24
aquí, esto 00:05:26
no es main, leer cliente 00:05:30
Si no ese nombre tan raro 00:05:32
Lo voy a copiar 00:05:35
Este nombre tan raro 00:05:35
Es que he puesto un nombre tan raro 00:05:42
Y ahora el array clientes 00:05:46
También, el array clientes está ahí también 00:05:48
Está ahí 00:05:51
¿Vale? 00:05:52
Lo que pasa es que claro, esto no lo haría así 00:05:59
Lo haría como agregar cliente 00:06:01
Es decir, ahora ya mi main 00:06:04
Yo aquí me haría 00:06:06
Un método 00:06:08
Que sería 00:06:10
Vale, me haría yo aquí 00:06:14
Vamos a hacerlo primero aquí para llamarlo 00:06:22
Tengo el método que leo un cliente 00:06:23
Vale, ahora vamos a hacer el método 00:06:26
Añadir cliente 00:06:28
Al array 00:06:30
Entonces 00:06:31
Pues 00:06:33
Por ejemplo 00:06:35
Aquí 00:06:37
Me puedo hacer 00:06:39
Public static 00:06:42
Agregar 00:06:44
Cliente nuevo 00:06:46
Entonces agregar cliente nuevo 00:06:47
¿Qué haría? 00:06:52
Static void, nada 00:06:54
Agregar cliente nuevo 00:06:55
Leería cliente, se apoya de este 00:06:58
Y lo metería en el array 00:07:00
Harían clientes 00:07:01
De siguiente posición 00:07:04
Libre 00:07:11
Este igual a 00:07:12
Leer 00:07:18
Cliente 00:07:21
¿Vale? 00:07:28
Me haría aquí en mis datos este método 00:07:30
Agregar un cliente nuevo 00:07:32
lee cliente, se apoya en este 00:07:34
y lo guarda en la 00:07:36
posición del array que toque y la deja 00:07:38
incrementada, vale 00:07:40
o sea, un método que trabaja 00:07:42
con estos datos, ahora 00:07:44
en mi main 00:07:46
en el caso 1, agregar cliente 00:07:47
y punto de pelota 00:07:50
pero había cambiado el nombre de la clase, pero con un nombre 00:07:51
tan largo, no se ve bien el código 00:07:58
con estas letras grandes 00:08:00
vale, voy a cambiar el nombre de la clase 00:08:01
acceso 00:08:03
datos clientes pedidos, la voy a llamar datos sin más para que se vea más claro 00:08:05
datos, cuando queréis cambiar el nombre de una clase y que 00:08:09
se cambie en todos los sitios en los que aparece 00:08:20
ya sabéis, botón derecho en la clase, refactor rename 00:08:25
botón derecho, refactor rename y se cambia en todas partes donde esa clase es referenciada 00:08:28
vale, ya le he cambiado al nombre datos 00:08:35
y ahora desde mi main, pues ya está 00:08:41
Haría datos 00:08:46
Punto a agregar cliente 00:08:48
No la tengo como public 00:08:52
Como los he copiado los tengo todos como privados 00:08:57
Efectivamente 00:09:01
Pues todos public 00:09:02
Ahora ya si desde mi main 00:09:04
Datos 00:09:22
Punto a agregar cliente nuevo 00:09:27
Ala ya esta 00:09:29
Entonces mi main va llamando 00:09:30
Simplemente a los métodos 00:09:33
datos, punto, mostrar clientes, caso 1, caso 2, ya está, caso 3, datos, punto, agregar pedido 00:09:35
y así podríamos modificar el resto, ¿vale? El resto ya lo dejo sin tocar, a partir de aquí, 00:09:47
Y como lo sube a la virtual, queda pendiente de hacer la refactorización para que estos casos llamen a la clase datos. 00:10:03
Vale, pues a partir del caso 4, pues habría que hacer lo mismo. 00:10:32
Pues este es un poco, dime. 00:10:44
datos, claro, porque está ahí 00:10:46
si es que necesitas llamarlo 00:10:51
directamente, pero en principio 00:10:53
la idea sería que no te hiciera 00:10:54
falta que incluso esto pudiera ser 00:10:57
privado, porque todos los accesos 00:10:59
al array se hagan 00:11:01
a través de métodos de aquí, agregar cliente 00:11:03
agregar pedido, recuperar pedido 00:11:05
todo se haga a través de métodos 00:11:06
entonces este puede estar 00:11:08
perfectamente aquí oculto porque 00:11:10
todo se va a ofrecer a través de los métodos 00:11:12
entonces esa es la idea 00:11:14
en general, que una aplicación tenga diferentes 00:11:16
clases, cada una engloba de lo que 00:11:18
se ocupa 00:11:20
y unas se pueden llamar a otras 00:11:21
de tal manera que me queden métodos 00:11:24
cortos 00:11:26
cada uno 00:11:28
las mínimas funciones posibles 00:11:29
cada método una función 00:11:32
no el método un montón de cosas 00:11:34
e irse llamándonos a otros 00:11:36
esta es la idea 00:11:38
luego claro, esto se tiene que 00:11:40
no se concreta por libre 00:11:41
cada uno lo hace por libre, al final se acaba 00:11:44
completando unos patrones de diseño 00:11:46
un poquito 00:11:47
más generales para todos 00:11:49
pero bueno, eso ya lo 00:11:52
veremos en segundo, lo importante ahora 00:11:53
es que cojáis la dinámica 00:11:56
de llamadas a métodos 00:11:58
de métodos estáticos y la idea 00:12:00
de que hay que 00:12:02
desacoplar y separar lo más posible 00:12:03
bueno, pues 00:12:05
Materias:
Programación
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado superior
      • Primer Curso
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
1
Fecha:
12 de enero de 2026 - 21:03
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
12′ 17″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
66.57 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid