No video

Mejora la Calidad de tu Código utilizando Repositorios

  Рет қаралды 25,897

CodelyTV - Redescubre la programación

CodelyTV - Redescubre la programación

Күн бұрын

El patrón Repository es uno de los más famosos en cuanto a Diseño de Software, pero también uno de los más mal utilizados. En el vídeo de hoy vemos sus ventajas y su importancia.
Curso de Repositorios! bit.ly/curso-r...
﹤🍍﹥ CodelyTV
├ 🎥 Suscríbete: kzbin.info...
├ 🐦 Twitter CodelyTV: / codelytv
├ 🧔🏻 Twitter Javi: / javiercane
├ 💂‍♀️ Twitter Rafa: / rafaoe
├ 📸 Instagram: / codelytv
├ ℹ️ LinkedIn: / codelytv
├ 🥋 Academy: codely.com/aca...
└ 📕 Catálogo cursos: bit.ly/cursos-...

Пікірлер: 44
@royerguerrerop5982
@royerguerrerop5982 Жыл бұрын
Yo en una entrevista técnica Q: Que te parece el patron repository? R: Una vez que entiende es facil de entender
@CodelyTV
@CodelyTV Жыл бұрын
Contratado 😂
@cyberkiller83
@cyberkiller83 Жыл бұрын
jajajajajaja no veo fallas en su logica
@manuelhanyu4856
@manuelhanyu4856 9 ай бұрын
jajjjajajajaj @CodelyTV , muchas gracias por la explicación y el buen momento !!
@JoseManuel-lo2ed
@JoseManuel-lo2ed 5 ай бұрын
Yo en una entrevista técnica. Q: ¿Qué te parece el patrón repository? R: Eso que te lo explique Rafa que cuando lo entendió le fue muy fácil de entender. jajajajajajaja.😆😆😆😆
@ciltocruz
@ciltocruz Жыл бұрын
Ya son varios los vídeos con esta nueva manera de mostrar las diapositivas y, la verdad, chapeau. Muchísimo más visual y muchísimo más claro.
@luisfcastilla
@luisfcastilla Жыл бұрын
CSM, me reí como por 10minutos más por la frase del gran Rafa Gomez: Una vez se entiende es muy facil de entender! HAHAHAHA
@matiasabarcamorales3263
@matiasabarcamorales3263 Жыл бұрын
Yo entendi ese csm xd
@br4ul10
@br4ul10 Жыл бұрын
Chilean alert
@feliperubio29
@feliperubio29 6 ай бұрын
enseñan super bien. Aunque no le voy al curso, al menos es una buena forma de aprender. Estoy empezando con kotlin
@ernestofuentes9333
@ernestofuentes9333 Жыл бұрын
Para mí uno de los beneficios más poderosos de este patrón es que te permite actualizar sin mucho costo librerías que muchas veces usamos para interactuar con nuestras fuentes de datos que pueden ser antiguas o tener vulnerabilidades con el paso de el tiempo. Ej. Los ORM. Sin dudas la frecuencia de actualización de estos paquetes es más alta que la de cambios de una DB en un proyecto
@rubiglam
@rubiglam Жыл бұрын
Buenas, me encantan vuestros videos con todos los patrones que enseñais pero muchas veces no tengo claro como organizar las carpetas. Podrias hacer algun video de un proyecto semigrande para enseñarlo. Gracias.
@MegaDanni96
@MegaDanni96 2 ай бұрын
Muchas gracias, lo entendí muy fácil una vez que lo entendí😊❤
@pmareke
@pmareke Жыл бұрын
Muy buena chicos, nosotros lo usamos siempre y da gusto trabajar así ❤.
@victorgiovannibeltranrodri1047
@victorgiovannibeltranrodri1047 Жыл бұрын
Curiosidamente estaba viendo el repositorio de ustedes por el patrón specification que también hicieron vídeo, les tengo una propuesta de cambio, usaban el método match(critera) no recuerdo bien el nombre del método pero si que su parámetro era un objeto tipo critera, uno de los parámetros y recuerdo que son opcionales es offset y limit, porque no hacer otra capa más? que un objeto Query reciba critera y retorne un objeto tipo cursor, un dia hice un ejercicio algo interesante de recrear un cursor de mongodb que era simplemente una clase que extiende de array, hice el ejercicio basándome en su código me gustó el patrón Repository hice un ejercicio usa do firebase y mongodb, pero se me ocurrió que en el método match recibir class BackofficeCourseRepository { constructor() { this.query = new FirebaseQuery// o MongoDBQuery } matching(critera) { return this.query.execute(critera) } } Así incluso podría quedar un poco más agnostostico porque el query manejaría los critera dependiendo si se usa SQL, mongodb, firebase, pero que retorne un objeto tipo cursor que es simplemente una extensión de array y se tendrían métodos nativos como map foreach, y crear algunos como limit o skip, Saludos
@victorgiovannibeltranrodri1047
@victorgiovannibeltranrodri1047 Жыл бұрын
De verdad me gustaría su opinión sobre mi propuesta por cierto aprendí mucho viendo su repositorio en Github saludos
@imsergiohere
@imsergiohere Жыл бұрын
Yo he implementado este patrón y donde le veo la utilidad máxima es en el core de proyectos open source o proyectos que tengan arquitectura de plugins.
@yamiliberra5713
@yamiliberra5713 Жыл бұрын
Me quedo con la cara de Javi luego de la frase de Rafa (5:26) 😅
@fernandolopezlopez7960
@fernandolopezlopez7960 Жыл бұрын
Muy buen video, me recuerda mucho a los Repository Annotations de Spring Boot
@Will.I.Am50
@Will.I.Am50 Жыл бұрын
Exacto
@nitrozeus1173
@nitrozeus1173 Жыл бұрын
Una pregunta, en el caso de que se requiera utilizar transacciones. Como deberia de implementarse?
@jeancarlosluciano9211
@jeancarlosluciano9211 9 ай бұрын
Yo tengo una clase query donde llamo el metodo que quiero usar select, updated, insert o delete con sus respectivos parametros, si quiero cambiar la base de datos, solo tendria que cambiar el import de la base de dato en un solo fichero
@guillermosolia
@guillermosolia Жыл бұрын
Excelente vídeo muchachos. Estaría bueno un vídeo sobre unit of work pattern y que su opinión al respecto. Saludos desde Argentina.
@javi68yt2
@javi68yt2 8 ай бұрын
IMHO, la principal ventaja no es la de cambiar de motor de BD, sino la de cambiar de origen de datos, p.e., un CSV, una hoja de cálculo, una API, ...
@oscargabrielrondon8116
@oscargabrielrondon8116 7 ай бұрын
Amigos de Codely un saludo. Podrian conversar sobre Sequelize u otro ORM?
@manuelhanyu4856
@manuelhanyu4856 9 ай бұрын
Me queda la duda si al utilizar un ORM, se podría conseguir un objetivo similar al del patrón, dado que si bien es cierto puedo hacer el registro del usuario en el handler, por detrás es el ORM el que administra el tipo de bd y demas ?
@leonardoespejo
@leonardoespejo Жыл бұрын
y entre el patrón Data Access Object (DAO), no tendría este ultimo mas ventajas?
@AlanAcurio
@AlanAcurio Жыл бұрын
Que pasa cuando debo notificar desde el dominio un evento a un cola. Me sirve el patron repository?
@tuliomop
@tuliomop Жыл бұрын
Interesante, pero muchas funciones complejas con a;os de perfeccionamiento y conveniencia en variedad como transacciones, tipado estricto, control de usuarios y permisos atomicos de control... , se que el OS los tiene tambien, solo que creo que si esta dise;ados para otro fin (sin mencionar la separación de intereses/concerns muchos llorarian por eso) . Por otro lado me Encarta cuando el respaldo de algo es directo con el file system y no una capa mas de software que aprender y gastar recursos (en el caso de sqlite creo es cero si no hay queries), venga el debate
@DeoCrespo
@DeoCrespo Жыл бұрын
veo esto, me viene el recuerdo de Vietnam de la semana pasada con el arquitecto que nos puso a desarrollar mal la implementación xD
@datapick3r
@datapick3r Жыл бұрын
consideran necesario implementarlo en un proyecto con nest y utilizando el orm de prisma ? hasta donde tenia entendido el uso de este pattern era con data mapper.
@datapick3r
@datapick3r Жыл бұрын
me parece inapropiado que se implemente esto solo para que un campo que ya reciba el orm como user_id mapeado en el schema ahora se reciba primero como userId en el repository a menos de que se incluyera como intermedia layer para transformacion de la data en base a la logica de negocio cual no es el caso donde trabajo lo consideraria como buena practica
@gustavo2327
@gustavo2327 Жыл бұрын
claro que es buena idea usarlo. Imagina que cambies de ORM o de BD, entonces solo cambiarias los repositorios
@datapick3r
@datapick3r Жыл бұрын
@@gustavo2327 si esa es la idea del adapter pero en años no se ah hecho y dudo que se haga hoy por hoy prisma es uno de los mejores orm de js y su soporte es lts
@alfonsovargas8578
@alfonsovargas8578 Жыл бұрын
En el patron repositorio pudiera aplicar algo especifico como FindActiveUsers o solo deberia contener cosas genericas como save, update, delete, get, getAll? Me ha sucedido que veo repositorios con "mil" métodos especificos aparte de lo generico.
@CodelyTV
@CodelyTV Жыл бұрын
Ahí es donde entra en juego el patrón specification. Lo explicamos también en el curso 😊 pro.codely.com/library/modelado-del-dominio-repositorios-203057/about/
@alfonsovargas8578
@alfonsovargas8578 Жыл бұрын
Gracias tío @@CodelyTV 🫶
@CarlosWashingtonMercado
@CarlosWashingtonMercado Жыл бұрын
Muy bueno el video.
@francm_1
@francm_1 Жыл бұрын
Como se implementarla algo así en frontend desde su punto de vista. Digamos tener centralizado un repositorio donde cuando se me pida cambiar el cliente http sea tan sencillo como solo modificar en un lugar sin afectar lo demás.
@CodelyTV
@CodelyTV Жыл бұрын
Curso de arquitectura hexagonal en frontend donde justamente vemos ejemplos de eso 😊 pro.codely.com/library/arquitectura-hexagonal-en-frontend-197663/about/
@minerlozano3869
@minerlozano3869 Жыл бұрын
capos C:
@davidromaniuk
@davidromaniuk Жыл бұрын
Muy capo bob patiño
@matonolo
@matonolo Жыл бұрын
no utilicen clases por favoooor
@mateocruz8325
@mateocruz8325 Жыл бұрын
Jaja porque?
Repository vs DAO: Patrones de diseño para acceder a bases de datos
6:59
CodelyTV - Redescubre la programación
Рет қаралды 23 М.
Mejora la Calidad de tu Código utilizando Value Objects
16:20
CodelyTV - Redescubre la programación
Рет қаралды 34 М.
WHO CAN RUN FASTER?
00:23
Zhong
Рет қаралды 45 МЛН
Dad Makes Daughter Clean Up Spilled Chips #shorts
00:16
Fabiosa Stories
Рет қаралды 1,8 МЛН
RabbitMQ vs Kafka - ¿Cuál escoger?
27:03
CodelyTV - Redescubre la programación
Рет қаралды 35 М.
Lo que necesitas saber de IA como Developer: Modelos vs Ollama vs LangChain
16:57
CodelyTV - Redescubre la programación
Рет қаралды 19 М.
🦙🤖  COMO ejecutar LLAMA3 en LOCAL y hacer que HABLE y ESCUCHE
13:47
Cómo evito usar JOINs
12:54
CodelyTV - Redescubre la programación
Рет қаралды 32 М.
Diferencias entre Value Object vs Entidad vs Agregado
19:33
CodelyTV - Redescubre la programación
Рет қаралды 18 М.
Clean Architecture: La mejor forma de escalar y mantener tu código
17:52
CodelyTV - Redescubre la programación
Рет қаралды 191 М.
Cómo gestionar Errores en un Sistema de Mensajería
12:44
CodelyTV - Redescubre la programación
Рет қаралды 9 М.
Cómo gestionar MILLONES de REGISTROS en la Base de Datos con DDD
9:22
CodelyTV - Redescubre la programación
Рет қаралды 19 М.
Errores de programadores novatos QUE DEBES EVITAR
18:06
EDteam
Рет қаралды 678 М.