Bienvenido.
Continuamos con otro ejemplo de uso interfaz, con consultas y operaciones a un repositorio independiente.
Si es una base auto, por ejemplo, nos podrían comunicar con JS, realizar consultas, operaciones
o una tabla, pero también podríamos hacer esto mismo a otra fuente, dato o DataSource, por ejemplo,
a una lista, a una red list.
Como por el momento no hemos visto nada de bases, esto, eso lo vamos a ver después.
Así que por ahora lo vamos a trabajar con listas.
Pero si la idea es tener una interfaz repository con métodos, por ejemplo para el cruz, para realizar
operaciones de altas, bajas y modificaciones, listar por ejemplo obtener por Heidy, eliminar, editar,
crear.
Entonces vamos a tener nuestra interfaz Cruz Repository implementada con ArrayList, pero también lo
podríamos implementar con cualquier otro tipo de fuente dato de base, datos transaccionales usando
JS o incluso JPA o Hibbert net.
Al final es la implementación, lo podremos implementar como queramos y con la herramienta tecnología
que queramos o framework.
Ah, y otro punto importante en este ejemplo también la idea principal es ver herencia múltiple de interfaz.
Por lo tanto, vamos a tener una interfaz para el club repositorio para las operaciones básicas con
los datos leer, crear, editar, eliminar, listar, pero también otra interfaz que sea para ordenar,
ordenarles, repositorio, listar los datos, pero que estén ordenados por algún atributo y en alguna
dirección ascendente o descendente.
Otra interfaz página able para poder pajinas nuestra lista.
Entonces ese modelo sería el ejemplo, pero para eso vamos a cerrar todo lo que tenemos.
Y vamos a crear 1 proyecto.
Como siempre, New Project Yaba siguiente.
Le vamos a llamar igual interfases o interfases?
Repositorio.
Al final, un componente repositorio es para realizar operaciones consultá, es decir, de acceso a
datos.
También se le conoce como el patrón DAO o data access, objeto de acceso a datos.
Vamos a crear los package como siempre.
En ese recé.
Punto Repositorio Entonces Ohr a Guzmán punto P o Interfases Punto Repositorio Listo acá entonces nuestra
interfaz con click derecho new.
Ñada Klauss, seleccionamos Interfax acá y en nombre CRUD repositorio
bien, nuestra primera interfaz, pero tenemos que trabajar con datos, es decir, vamos a crear un
mantenedor de altas, bajas y modificaciones de algún tipo de registro.
Pero estas 12a un tipo dato.
Por ejemplo, quiero realizar operaciones sobre clientes o sobre producto se fijan sobre usuarios.
Entonces vamos a crear una clase con métodos GET transceptor con atributos que va a representar nuestro
datos.
Por ejemplo, los registros de una tabla.
Entonces vamos a crear para el ejemplo la clase cliente, pero podríamos organizar un poco los package.
Por ejemplo, voy a crear un pack acá primero.
Antes que nada.
Y acá en P o interfases.
Voy a tener modelo Bejan, modelo y repositorio, y en modelo vamos a tener el cliente para el ejemplo
cliente, pero puede ser lo que queramos producto.
Como digo, puede ser factura, puedes ser usuario
con atributos y aydin del tipo Integer.
Esta vez lo eger como la clase Rapper Integer también puede ser primitivo
nombre.
En fin, y lo que queramos.
Cualquier campo, si al final de la misma es para tener registros, solamente datos.
Bien gué tran setter constructor entonces generad constructor.
Vamos a pasar el nombre de apellido.
Pero también me vas a tener en constructor, vacío, constructor, sin nada.
Vamos a tener Guiteras setter por acá.
Marcamos todo, se fijan lo trema casi listo, pero bien el Heidy private static int último Heidy.
Entonces en el constructor acá vamos a asignar el Heidy de punto Heidy igual el incremento de último
edi.
Se acuerdan que para generar una idea automático?
Listo, ahí pasamos el Heidy, pero le idea que acá también invoque este constructor para que genere
Leidy.
Entonces acá con Di's invocamos este constructor y hacinan Leidy después en nombre apellido.
Está molesto, incluso podríamos tener un string.
Generated tu estric que muestre bueno todo.
Voy a quitar esto solamente que aparezca el Heidy, esto, el Heidy igual con el valor nombre, apellido.
Esto lo quitamos hasta acá.
Listo, hoy tenemos el tuis String.
Entonces, protocolos, métodos de la interfaz, primero para listar, para obtener todos los clientes,
entonces una lista cliente listas fijan un método de la interfaz vamos a importar primero cliente lo
importamos del package modelo y lista de yatiri.
Entonces esta interfaz la podemos implementar de lo mismo, ya sea con paseando con API Rest, un arreglo,
un ArrayList donde queramos guardar, almacenar, manejar a los clientes, incluso un archivo plano,
un XML en cualquier fuente o DataSource.
Qué otro método podríamos tener para ver el detalle?
Obtener prendi?
Entonces qué retorna un cliente?
Uno solo cliente.
El método por ejemplo por Heidy y pasamos el Heidy Integer el Heidy recuerden que Leydi lo pusimos del
tipo intuyas de la clase Rapper con mayúscula Acari Integer acá también intuyas y retorna cliente por
LVII.
Este método es para guet para obtener el cliente prohibi o el detalle.
Cuál otro más?
Crear.
Por ejemplo, Beut no retorna nada, pero realiza una operación, es decir, crea un cliente en nuestro
repositorio crear, crear o insertar o guardar como queramos y pasamos por argumento el objeto que queremos
crear.
Cliente cliente
editar también.
Cliente cliente Cuando se crea un cliente, se crea un cliente nuevo desde cero.
Cuando se edita se modifica uno que ya existe.
Se fijan acá void eliminar
bueno por el Heidy la idea obtenemos el Heidy de cliente que queremos eliminar lo vamos a buscar al
repositorio y lo eliminamos.
Recuerden el repositorio es abstracto, da lo mismo se puede implementar con cualquier datasource.
Acá tenemos nuestro CRUD repositorio con las operaciones básicas y típicas de de un CRUD o de altas,
bajas y modificaciones.
Pero también vamos a tener otra interfaz acá en repositorio, junto con Cruz.
New Yaba class interfaz Ordénale repositorio
se fijen, ordénale cómo termina por lo general los nombre interfaces ordénale repositorio OK.
Va a tener el método también.
Vamos a tener sobrecarga de métodos list.
Cliente listas se fijan.
Mismo nombre del método acá litar lis cliente lista.
Lo que cambia sería los argumentos acá la idea es ordenar, por lo tanto que tengan que pasar por argumento
en nombre del campo con el cual queremos ordenar o atributo y la dirección si es ascendente o descendente.
Entonces estric.
Por ejemplo campo o atributo.
String dirección.
Dir.
Perfecto.
Vamos a importar cliente.
Ahora, dirección DIR.
Puede ser ASC o DESC.
Hay dos opciones ascendente o descendente.
Entonces, en realidad podría ser un enumerada.
Claro.
Mucho mejor un enum.
Entonces podríamos tener acá en repositorio.
Un atlas en un direc ción.
Listo.
Dos opciones ASC con desca.
111 Qué mejor así acá colocamos dirección nomá con el enum.
Y otra interfaz más para páginas Doncella Atlas.
Interfax Pági nable repositorio.
También sobre Cárgame todo igual.
Listo.
Cliente litar
hilitos desde y hasta.
Importamos de ella útil y cliente.
Entonces el desde desde donde creó trajinar hasta donde un rango, porque podríamos tener una lista
enorme con miles de registro y voy patinando.
10 Sentías entonces desde hasta entonces de cero hasta nueve después de 10 hasta 19 y así sucesivamente.
Vamos pajeando de 10 en 10.
Esto en pasearlos se le conoce como él, el límite que sería el ÂHasta y el offset, el desde el offset
y el limit.
Y con estos dos parámetros podemos pajinas al final es desde el hasta entonces.
También interfaz se puede aplicar tanto a nivel de tabla con base dato a un ArrayList o cualquier tipo
de repositorio o datasource.
Bien cree que ya tenemos la base, ya tenemos las tres interfaces.
La idea es crear una implementación concreta de un repositorio de clientes implementado con ArrayList,
implementar estos métodos, implementar este método, implementar este método.
Se fijan y esta clase va a implementar estas tres interfaces.
Se fijan implementación múltiple de interfaces, pero bien, eso lo hagamos para la siguiente clase.
Nos vemos.